/**
  * @return array
  */
 public function submitDataProvider()
 {
     $roleLabel = 'account_role_label';
     $alteredRoleLabel = 'altered_role_label';
     $defaultRole = new AccountUserRole();
     $defaultRole->setLabel($roleLabel);
     /** @var AccountUserRole $existingRoleBefore */
     $existingRoleBefore = $this->getEntity(self::DATA_CLASS, 1);
     $existingRoleBefore->setLabel($roleLabel);
     $existingRoleBefore->setRole($roleLabel);
     $existingRoleAfter = unserialize(serialize($existingRoleBefore));
     $existingRoleAfter->setLabel($alteredRoleLabel);
     return ['empty' => ['options' => ['privilege_config' => $this->privilegeConfig], 'defaultData' => null, 'viewData' => null, 'submittedData' => ['label' => $roleLabel], 'expectedData' => $defaultRole, 'expectedFieldData' => ['entity' => [], 'action' => []]], 'existing' => ['options' => ['privilege_config' => $this->privilegeConfig], 'defaultData' => $existingRoleBefore, 'viewData' => $existingRoleBefore, 'submittedData' => ['label' => $alteredRoleLabel, 'entity' => ['first'], 'action' => ['second']], 'expectedData' => $existingRoleAfter, 'expectedFieldData' => ['entity' => ['first'], 'action' => ['second']]]];
 }
 public function testAccountPermissions()
 {
     // init tokens
     $this->client->request('GET', $this->getUrl('orob2b_account_frontend_account_user_profile'));
     $this->assertHtmlResponseStatusCodeEquals($this->client->getResponse(), 200);
     $this->assertRoleHasPermission(LoadAccountUserRoles::ADMINISTRATOR, [true, true, true, true, true]);
     $this->assertRoleHasPermission(LoadAccountUserRoles::BUYER, [true, false, true, false, true]);
     $roleName = 'DENIED';
     $role = new AccountUserRole(AccountUserRole::PREFIX_ROLE . $roleName);
     $role->setLabel($roleName);
     $className = $this->getContainer()->getParameter('orob2b_account.entity.account_user_role.class');
     $em = $this->getContainer()->get('doctrine')->getManagerForClass($className);
     $em->persist($role);
     $em->flush();
     $this->assertRoleHasPermission($roleName, [false, false, false, false, false]);
 }
Exemplo n.º 3
0
 /**
  * @param ObjectManager $manager
  */
 protected function loadRoles(ObjectManager $manager)
 {
     /* @var $aclManager AclManager */
     $aclManager = $this->container->get('oro_security.acl.manager');
     foreach ($this->roles as $key => $roles) {
         $role = new AccountUserRole(AccountUserRole::PREFIX_ROLE . $key);
         $role->setLabel($key);
         foreach ($roles as $acls) {
             $className = $this->container->getParameter($acls['class']);
             $this->setRolePermissions($aclManager, $role, $className, $acls['acls']);
         }
         $manager->persist($role);
         $this->setReference($key, $role);
     }
     $manager->flush();
     $aclManager->flush();
 }
 public function testRole()
 {
     $name = 'test role#$%';
     $role = new AccountUserRole();
     $account = new Account();
     $organization = new Organization();
     $this->assertEmpty($role->getId());
     $this->assertEmpty($role->getLabel());
     $this->assertEmpty($role->getRole());
     $this->assertEmpty($role->getOrganization());
     $this->assertEmpty($role->getAccount());
     $role->setAccount($account);
     $role->setOrganization($organization);
     $this->assertEquals($organization, $role->getOrganization());
     $this->assertEquals($account, $role->getAccount());
     $role->setLabel($name);
     $this->assertEquals($name, $role->getLabel());
     $this->assertEquals(AccountUserRole::PREFIX_ROLE, $role->getPrefix());
     $role->setRole($name);
     $this->assertStringStartsWith(AccountUserRole::PREFIX_ROLE . 'TEST_ROLE_', $role->getRole());
     $this->assertEquals($name, (string) $role);
 }
 /**
  * @param string $name
  * @param string $label
  * @return AccountUserRole
  */
 protected function createEntity($name, $label)
 {
     $role = new AccountUserRole(AccountUserRole::PREFIX_ROLE . $name);
     $role->setLabel($label);
     return $role;
 }
 /**
  * @param ObjectManager $manager
  * @param string $roleLabel
  */
 protected function loadRoleWithoutAccount(ObjectManager $manager, $roleLabel)
 {
     $entity = new AccountUserRole();
     $entity->setLabel($roleLabel);
     $entity->setOrganization($this->getDefaultOrganization($manager));
     $this->setReference($entity->getLabel(), $entity);
     $manager->persist($entity);
 }