/** * @see DataAnalyzerInterface::runAndMakeMessages() */ public function runAndMakeMessages(AnalyzerSupportedDataProvider $dataProvider, $columnName) { $acceptableValues = BooleanSanitizerUtil::getAcceptableValues(); $inPart = SQLOperatorUtil::resolveOperatorAndValueForOneOf('oneOf', $acceptableValues); $where = DatabaseCompatibilityUtil::lower($columnName) . ' NOT ' . $inPart; $count = $dataProvider->getCountByWhere($where); if ($count > 0) { $label = '{count} value(s) have invalid check box values. '; $label .= 'These values will be set to false upon import.'; $this->addMessage(Zurmo::t('ImportModule', $label, array('{count}' => $count))); } }
/** * @see DataAnalyzerInterface::runAndMakeMessages() */ public function runAndMakeMessages(AnalyzerSupportedDataProvider $dataProvider, $columnName) { assert('is_string($columnName)'); assert('is_string($this->attributeName)'); $minLength = $this->resolveMinLength($this->modelClassName, $this->attributeName); if ($minLength == null) { return; } $where = static::resolvColumnNameSqlLengthFunction($columnName) . ' < ' . $minLength; $count = $dataProvider->getCountByWhere($where); if ($count > 0) { $label = '{count} value(s) are too short for this field. '; $label .= 'These rows will be skipped during import.'; $this->addMessage(Zurmo::t('ImportModule', $label, array('{count}' => $count, '{length}' => $minLength))); } }
/** * @see LinkedToMappingRuleDataAnalyzerInterface::runAndMakeMessages() */ public function runAndMakeMessages(AnalyzerSupportedDataProvider $dataProvider, $columnName, $mappingRuleType, $mappingRuleData) { assert('is_string($columnName)'); assert('is_array($mappingRuleData)'); $modelClassName = $this->modelClassName; $model = new $modelClassName(false); if (!$model->isAttributeRequired($this->attributeName)) { return false; } $mappingRuleFormClassName = $mappingRuleType . 'MappingRuleForm'; $defaultValueAttributeName = $mappingRuleFormClassName::getAttributeName(); if ($mappingRuleData[$defaultValueAttributeName] != null) { return; } $where = $columnName . ' IS NULL OR ' . $columnName . "=''"; // Not Coding Standard $count = $dataProvider->getCountByWhere($where); if ($count > 0) { $label = '{count} value(s) are missing and are required. '; $label .= 'These rows will be skipped on import.'; $this->addMessage(Zurmo::t('ImportModule', $label, array('{count}' => $count))); } }