/** * Based on the self::$importToFormAttributeMap, create an array of elements from the * import wizard form. Serialize the array and set the import serializedData attribute. * @param object $importWizardForm * @param object $import */ public static function setImportSerializedDataFromForm($importWizardForm, $import) { assert('$importWizardForm instanceof ImportWizardForm'); assert('$import instanceof Import'); $dataToSerialize = array(); foreach (self::$importToFormAttributeMap as $attributeName) { $dataToSerialize[$attributeName] = $importWizardForm->{$attributeName}; } $dataToSerialize['explicitReadWriteModelPermissions'] = ExplicitReadWriteModelPermissionsUtil::makeMixedPermitablesDataByExplicitReadWriteModelPermissions($importWizardForm->explicitReadWriteModelPermissions); $import->serializedData = serialize($dataToSerialize); }
public function testMakeMixedPermitablesDataByExplicitReadWriteModelPermissions() { Yii::app()->user->userModel = User::getByUsername('super'); $group1 = Group::getByName('Group1'); $group2 = Group::getByName('Group2'); $group3 = Group::getByName('Group3'); $explicitReadWriteModelPermissions = new ExplicitReadWriteModelPermissions(); $this->assertEquals(0, $explicitReadWriteModelPermissions->getReadOnlyPermitablesCount()); $this->assertEquals(0, $explicitReadWriteModelPermissions->getReadWritePermitablesCount()); //Now add permitables $explicitReadWriteModelPermissions->addReadOnlyPermitable($group1); $explicitReadWriteModelPermissions->addReadWritePermitable($group2); $explicitReadWriteModelPermissions->addReadWritePermitable($group3); $mixedPermitablesData = ExplicitReadWriteModelPermissionsUtil::makeMixedPermitablesDataByExplicitReadWriteModelPermissions($explicitReadWriteModelPermissions); $compareData = array('readOnly' => array(array('Group' => $group1->id)), 'readWrite' => array(array('Group' => $group2->id), array('Group' => $group3->id))); $this->assertEquals($compareData, $mixedPermitablesData); }