/** * Step 3 is where the explicit permissions are decided for the models that will be imported. * @param object $importWizardForm * @param array $postData */ public static function setFormByPostForStep3($importWizardForm, $postData) { assert('$importWizardForm instanceof ImportWizardForm'); assert('is_array($postData) && isset($postData["explicitReadWriteModelPermissions"])'); $importWizardForm->explicitReadWriteModelPermissions = ExplicitReadWriteModelPermissionsUtil::makeByPostData($postData['explicitReadWriteModelPermissions']); }
public function testMakeByPostData() { Yii::app()->user->userModel = User::getByUsername('super'); //Test selecting owner only. $postData = array('type' => null); $explicitReadWriteModelPermissions = ExplicitReadWriteModelPermissionsUtil::makeByPostData($postData); $this->assertEquals(0, $explicitReadWriteModelPermissions->getReadOnlyPermitablesCount()); $this->assertEquals(0, $explicitReadWriteModelPermissions->getReadWritePermitablesCount()); //Test selecting the everyone group. $postData = array('type' => ExplicitReadWriteModelPermissionsUtil::MIXED_TYPE_EVERYONE_GROUP); $explicitReadWriteModelPermissions = ExplicitReadWriteModelPermissionsUtil::makeByPostData($postData); $this->assertEquals(0, $explicitReadWriteModelPermissions->getReadOnlyPermitablesCount()); $this->assertEquals(1, $explicitReadWriteModelPermissions->getReadWritePermitablesCount()); $readWritePermitables = $explicitReadWriteModelPermissions->getReadWritePermitables(); $everyoneGroup = Group::getByName(Group::EVERYONE_GROUP_NAME); $this->assertEquals($everyoneGroup, $readWritePermitables[$everyoneGroup->id]); //Test selecting a group that is not the everyone group. $group2 = Group::getByName('group2'); $postData = array('type' => ExplicitReadWriteModelPermissionsUtil::MIXED_TYPE_NONEVERYONE_GROUP, 'nonEveryoneGroup' => $group2->id); $explicitReadWriteModelPermissions = ExplicitReadWriteModelPermissionsUtil::makeByPostData($postData); $this->assertEquals(0, $explicitReadWriteModelPermissions->getReadOnlyPermitablesCount()); $this->assertEquals(1, $explicitReadWriteModelPermissions->getReadWritePermitablesCount()); $readWritePermitables = $explicitReadWriteModelPermissions->getReadWritePermitables(); $this->assertEquals($group2, $readWritePermitables[$group2->id]); }