public function __construct(Import $import, ImportDataProvider $dataProvider) { $unserializedData = unserialize($import->serializedData); $this->import = $import; $this->mappingData = $unserializedData['mappingData']; $this->importRules = ImportRulesUtil::makeImportRulesByType($unserializedData['importRulesType']); $this->dataProvider = $dataProvider; if (isset($unserializedData['explicitReadWriteModelPermissions'])) { $this->explicitReadWriteModelPermissions = ExplicitReadWriteModelPermissionsUtil::makeByMixedPermitablesData($unserializedData['explicitReadWriteModelPermissions']); } else { $this->explicitReadWriteModelPermissions = new ExplicitReadWriteModelPermissions(); } }
public function testMakeByMixedPermitablesData() { Yii::app()->user->userModel = User::getByUsername('super'); $group1 = Group::getByName('Group1'); $group2 = Group::getByName('Group2'); $group3 = Group::getByName('Group3'); $mixedPermitablesData['readOnly'][] = array('Group' => $group1->id); $mixedPermitablesData['readWrite'][] = array('Group' => $group2->id); $mixedPermitablesData['readWrite'][] = array('Group' => $group3->id); $explicitReadWriteModelPermissions = ExplicitReadWriteModelPermissionsUtil::makeByMixedPermitablesData($mixedPermitablesData); $this->assertEquals(1, $explicitReadWriteModelPermissions->getReadOnlyPermitablesCount()); $this->assertEquals(2, $explicitReadWriteModelPermissions->getReadWritePermitablesCount()); $readOnlyPermitables = $explicitReadWriteModelPermissions->getReadOnlyPermitables(); $this->assertEquals($group1, $readOnlyPermitables[$group1->id]); $readWritePermitables = $explicitReadWriteModelPermissions->getReadWritePermitables(); $this->assertEquals($group2, $readWritePermitables[$group2->id]); $this->assertEquals($group3, $readWritePermitables[$group3->id]); }
/** * Given an import object, make an ImportWizardForm, mapping the attributes from the import object into the * form. * @param object $import */ public static function makeFormByImport($import) { assert('$import instanceof Import'); $form = new ImportWizardForm(); $form->id = $import->id; if ($import->serializedData != null) { $unserializedData = unserialize($import->serializedData); foreach (self::$importToFormAttributeMap as $attributeName) { if (isset($unserializedData[$attributeName])) { $form->{$attributeName} = $unserializedData[$attributeName]; } } if (isset($unserializedData['explicitReadWriteModelPermissions'])) { $form->explicitReadWriteModelPermissions = ExplicitReadWriteModelPermissionsUtil::makeByMixedPermitablesData($unserializedData['explicitReadWriteModelPermissions']); } else { $form->explicitReadWriteModelPermissions = new ExplicitReadWriteModelPermissions(); } } return $form; }