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]);
 }
Пример #3
0
 /**
  * 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;
 }