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