public static function setUpBeforeClass() { parent::setUpBeforeClass(); $super = SecurityTestHelper::createSuperAdmin(); Yii::app()->user->userModel = $super; $jim = UserTestHelper::createBasicUser('jim'); $values = array('Test1', 'Test2', 'Test3', 'Sample', 'Demo'); $customFieldData = CustomFieldData::getByName('ImportTestDropDown'); $customFieldData->serializedData = serialize($values); $saved = $customFieldData->save(); assert($saved); // Not Coding Standard $values = array('Multi 1', 'Multi 2', 'Multi 3'); $customFieldData = CustomFieldData::getByName('ImportTestMultiDropDown'); $customFieldData->serializedData = serialize($values); $saved = $customFieldData->save(); assert($saved); // Not Coding Standard $values = array('Cloud 1', 'Cloud 2', 'Cloud 3'); $customFieldData = CustomFieldData::getByName('ImportTestTagCloud'); $customFieldData->serializedData = serialize($values); $saved = $customFieldData->save(); assert($saved); // Not Coding Standard //Ensure the external system id column is present. $userTableName = User::getTableName(); ExternalSystemIdUtil::addExternalIdColumnIfMissing($userTableName); ExternalSystemIdUtil::updateByModel($super, 'A'); ExternalSystemIdUtil::updateByModel($jim, 'B'); ExternalSystemIdUtil::addExternalIdColumnIfMissing(ImportModelTestItem::getTableName()); ExternalSystemIdUtil::addExternalIdColumnIfMissing(ImportModelTestItem2::getTableName()); ExternalSystemIdUtil::addExternalIdColumnIfMissing(ImportModelTestItem3::getTableName()); ExternalSystemIdUtil::addExternalIdColumnIfMissing(ImportModelTestItem4::getTableName()); }
public static function getUserExternalSystemIds() { $columnName = ExternalSystemIdUtil::EXTERNAL_SYSTEM_ID_COLUMN_NAME; $userTableName = User::getTableName(); ExternalSystemIdUtil::addExternalIdColumnIfMissing($userTableName); $sql = 'select ' . $columnName . ' from ' . $userTableName; return ZurmoRedBean::getCol($sql); }
public static function setUpBeforeClass() { parent::setUpBeforeClass(); $super = SecurityTestHelper::createSuperAdmin(); Yii::app()->user->userModel = $super; $accountTableName = Account::getTableName(); $contactTableName = Contact::getTableName(); $opportunityTableName = Opportunity::getTableName(); ExternalSystemIdUtil::addExternalIdColumnIfMissing($accountTableName); ExternalSystemIdUtil::addExternalIdColumnIfMissing($contactTableName); ExternalSystemIdUtil::addExternalIdColumnIfMissing($opportunityTableName); }
public static function setUpBeforeClass() { parent::setUpBeforeClass(); $super = SecurityTestHelper::createSuperAdmin(); Yii::app()->user->userModel = $super; ExternalSystemIdUtil::addExternalIdColumnIfMissing(Account::getTableName()); ExternalSystemIdUtil::addExternalIdColumnIfMissing(Contact::getTableName()); ExternalSystemIdUtil::addExternalIdColumnIfMissing(Opportunity::getTableName()); $account = AccountTestHelper::createAccountByNameForOwner('testAccount', $super); ImportTestHelper::updateModelsExternalId($account, 'ACC'); $contact = ContactTestHelper::createContactByNameForOwner('testContact', $super); ImportTestHelper::updateModelsExternalId($contact, 'CON'); $opportunity = OpportunityTestHelper::createOpportunityByNameForOwner('testOpportunity', $super); ImportTestHelper::updateModelsExternalId($opportunity, 'OPP'); }
protected function init() { parent::init(); $this->resolveMappingRuleDataType(); $modelClassName = $this->modelClassName; $model = new $modelClassName(false); $this->attributeModelClassName = $this->resolveAttributeModelClassName($model, $this->attributeName); $this->ensureTypeValueIsValid($this->mappingRuleData["type"]); if ($this->mappingRuleData["type"] == IdValueTypeMappingRuleForm::EXTERNAL_SYSTEM_ID) { $modelClassName = $this->attributeModelClassName; ExternalSystemIdUtil::addExternalIdColumnIfMissing($modelClassName::getTableName(), $this->externalSystemIdMaxLength); } }
public function testSanitizeValueBySanitizerTypesForUserTypeThatIsRequired() { $billy = UserTestHelper::createBasicUser('billy'); $jimmy = UserTestHelper::createBasicUser('jimmy'); $sally = UserTestHelper::createBasicUser('sally'); //Update the external system id. ExternalSystemIdUtil::addExternalIdColumnIfMissing(User::getTableName()); $externalSystemIdColumnName = ExternalSystemIdUtil::EXTERNAL_SYSTEM_ID_COLUMN_NAME; ZurmoRedBean::exec("update " . User::getTableName() . " set {$externalSystemIdColumnName} = 'K' where id = {$jimmy->id}"); //Test a required user with no value or default value. $importSanitizeResultsUtil = new ImportSanitizeResultsUtil(); $columnMappingData = array('type' => 'importColumn', 'mappingRulesData' => array('DefaultModelNameIdMappingRuleForm' => array('defaultModelId' => null), 'UserValueTypeModelAttributeMappingRuleForm' => array('type' => UserValueTypeModelAttributeMappingRuleForm::ZURMO_USER_ID))); $sanitizerUtilTypes = UserAttributeImportRules::getSanitizerUtilTypesInProcessingOrder(); $sanitizedValue = ImportSanitizerUtil::sanitizeValueBySanitizerTypes($sanitizerUtilTypes, 'ImportModelTestItem', 'owner', null, 'column_0', $columnMappingData, $importSanitizeResultsUtil); $this->assertNull($sanitizedValue); $this->assertFalse($importSanitizeResultsUtil->shouldSaveModel()); $messages = $importSanitizeResultsUtil->getMessages(); $this->assertEquals(1, count($messages)); $compareMessage = 'Import - Owner Id is required and was not specified.'; $this->assertEquals($compareMessage, $messages[0]); //Test a required string with no value, but a valid default value, a user id. $importSanitizeResultsUtil = new ImportSanitizeResultsUtil(); $columnMappingData = array('type' => 'importColumn', 'mappingRulesData' => array('DefaultModelNameIdMappingRuleForm' => array('defaultModelId' => $billy->id), 'UserValueTypeModelAttributeMappingRuleForm' => array('type' => UserValueTypeModelAttributeMappingRuleForm::ZURMO_USER_ID))); $sanitizerUtilTypes = UserAttributeImportRules::getSanitizerUtilTypesInProcessingOrder(); $sanitizedValue = ImportSanitizerUtil::sanitizeValueBySanitizerTypes($sanitizerUtilTypes, 'ImportModelTestItem', 'owner', null, 'column_0', $columnMappingData, $importSanitizeResultsUtil); $this->assertEquals($billy, $sanitizedValue); $this->assertTrue($importSanitizeResultsUtil->shouldSaveModel()); $messages = $importSanitizeResultsUtil->getMessages(); $this->assertEquals(0, count($messages)); //Test a required string with a valid user id. $importSanitizeResultsUtil = new ImportSanitizeResultsUtil(); $columnMappingData = array('type' => 'importColumn', 'mappingRulesData' => array('DefaultModelNameIdMappingRuleForm' => array('defaultModelId' => null), 'UserValueTypeModelAttributeMappingRuleForm' => array('type' => UserValueTypeModelAttributeMappingRuleForm::ZURMO_USER_ID))); $sanitizerUtilTypes = UserAttributeImportRules::getSanitizerUtilTypesInProcessingOrder(); $sanitizedValue = ImportSanitizerUtil::sanitizeValueBySanitizerTypes($sanitizerUtilTypes, 'ImportModelTestItem', 'owner', $billy->id, 'column_0', $columnMappingData, $importSanitizeResultsUtil); $this->assertEquals($billy, $sanitizedValue); $this->assertTrue($importSanitizeResultsUtil->shouldSaveModel()); $messages = $importSanitizeResultsUtil->getMessages(); $this->assertEquals(0, count($messages)); //Test a required string with a valid external system user id. $importSanitizeResultsUtil = new ImportSanitizeResultsUtil(); $columnMappingData = array('type' => 'importColumn', 'mappingRulesData' => array('DefaultModelNameIdMappingRuleForm' => array('defaultModelId' => null), 'UserValueTypeModelAttributeMappingRuleForm' => array('type' => UserValueTypeModelAttributeMappingRuleForm::EXTERNAL_SYSTEM_USER_ID))); $sanitizerUtilTypes = UserAttributeImportRules::getSanitizerUtilTypesInProcessingOrder(); $sanitizedValue = ImportSanitizerUtil::sanitizeValueBySanitizerTypes($sanitizerUtilTypes, 'ImportModelTestItem', 'owner', 'K', 'column_0', $columnMappingData, $importSanitizeResultsUtil); $this->assertEquals($jimmy, $sanitizedValue); $this->assertTrue($importSanitizeResultsUtil->shouldSaveModel()); $messages = $importSanitizeResultsUtil->getMessages(); $this->assertEquals(0, count($messages)); //Test a required string with a valid username. $importSanitizeResultsUtil = new ImportSanitizeResultsUtil(); $columnMappingData = array('type' => 'importColumn', 'mappingRulesData' => array('DefaultModelNameIdMappingRuleForm' => array('defaultModelId' => null), 'UserValueTypeModelAttributeMappingRuleForm' => array('type' => UserValueTypeModelAttributeMappingRuleForm::ZURMO_USERNAME))); $sanitizerUtilTypes = UserAttributeImportRules::getSanitizerUtilTypesInProcessingOrder(); $sanitizedValue = ImportSanitizerUtil::sanitizeValueBySanitizerTypes($sanitizerUtilTypes, 'ImportModelTestItem', 'owner', 'sally', 'column_0', $columnMappingData, $importSanitizeResultsUtil); $this->assertEquals($sally, $sanitizedValue); $this->assertTrue($importSanitizeResultsUtil->shouldSaveModel()); $messages = $importSanitizeResultsUtil->getMessages(); $this->assertEquals(0, count($messages)); }