Exemplo n.º 1
0
 /**
  * Load roles
  *
  * @param \Doctrine\Common\Persistence\ObjectManager $manager
  */
 public function load(ObjectManager $manager)
 {
     /** @var AclManager $manager */
     $aclManager = $this->container->get('oro_security.acl.manager');
     $fileName = __DIR__ . '/CrmRoles/roles.yml';
     $fileName = str_replace('/', DIRECTORY_SEPARATOR, $fileName);
     $rolesData = Yaml::parse($fileName);
     foreach ($rolesData as $roleName => $roleConfigData) {
         if (isset($roleConfigData['bap_role'])) {
             $role = $manager->getRepository('OroUserBundle:Role')->findOneBy(['role' => $roleConfigData['bap_role']]);
         } else {
             $role = new Role($roleName);
         }
         $role->setLabel($roleConfigData['label']);
         $manager->persist($role);
         if ($aclManager->isAclEnabled()) {
             $sid = $aclManager->getSid($role);
             foreach ($roleConfigData['permissions'] as $permission => $acls) {
                 $oid = $aclManager->getOid(str_replace('|', ':', $permission));
                 $builder = $aclManager->getMaskBuilder($oid);
                 $mask = $builder->reset()->get();
                 if (!empty($acls)) {
                     foreach ($acls as $acl) {
                         $mask = $builder->add($acl)->get();
                     }
                 }
                 $aclManager->setPermission($sid, $oid, $mask);
             }
         }
     }
     $aclManager->flush();
     $manager->flush();
 }
Exemplo n.º 2
0
 /**
  * Load roles
  *
  * @param \Doctrine\Common\Persistence\ObjectManager $manager
  */
 public function load(ObjectManager $manager)
 {
     $role = new Role(self::$roleData['name']);
     $role->setLabel(self::$roleData['label']);
     $manager->persist($role);
     /** @var AclManager $aclManager */
     $aclManager = $this->container->get('oro_security.acl.manager');
     if ($aclManager->isAclEnabled()) {
         $sid = $aclManager->getSid($role);
         foreach (LoadUserData::$roleData['permissions'] as $permission => $acls) {
             $oid = $aclManager->getOid(str_replace('|', ':', $permission));
             $builder = $aclManager->getMaskBuilder($oid);
             $mask = $builder->reset()->get();
             if (!empty($acls)) {
                 foreach ($acls as $acl) {
                     $mask = $builder->add($acl)->get();
                 }
             }
             $aclManager->setPermission($sid, $oid, $mask);
         }
     }
     /** @var UserManager $userManager */
     $userManager = $this->container->get('oro_user.manager');
     $user = $userManager->createUser();
     /** @var OrganizationManager $organizationManager */
     $organizationManager = $this->container->get('oro_organization.organization_manager');
     $organization = $organizationManager->getOrganizationRepo()->getOrganizationById(self::USER_ORGANIZATION);
     $user->setUsername(self::USER_NAME)->setPlainPassword(self::USER_PASSWORD)->setFirstName('User')->setLastName('Test')->addRole($role)->setEmail('*****@*****.**')->setOrganization($organization)->addOrganization($organization)->setSalt('');
     $userManager->updateUser($user);
     $aclManager->flush();
     $manager->flush();
 }
Exemplo n.º 3
0
 /**
  * Build the role entity from data
  *
  * @param array $data
  *
  * @return Role
  */
 protected function buildRole(array $data)
 {
     $role = $data['role'];
     $label = $data['label'];
     $role = new Role($role);
     $role->setLabel($label);
     return $role;
 }
Exemplo n.º 4
0
 public function testLabel()
 {
     $role = new Role();
     $label = 'Test role';
     $this->assertEmpty($role->getLabel());
     $role->setLabel($label);
     $this->assertEquals($label, $role->getLabel());
     $this->assertEquals($label, (string) $role);
 }
Exemplo n.º 5
0
 public function testGetRoleLabelsAsString()
 {
     $roleFoo = new Role('ROLE_FOO');
     $roleFoo->setLabel('Role foo');
     $this->group->addRole($roleFoo);
     $roleBar = new Role('ROLE_BAR');
     $roleBar->setLabel('Role bar');
     $this->group->addRole($roleBar);
     $this->assertEquals('Role foo, Role bar', $this->group->getRoleLabelsAsString());
 }
 /**
  * Build the role entity from data
  *
  * @param array $data
  *
  * @return Role
  */
 protected function buildRole(array $data)
 {
     $role = $data['role'];
     $label = $data['label'];
     $role = new Role($role);
     $role->setLabel($label);
     $owner = isset($data['owner']) ? $data['owner'] : 'Main';
     $owner = $this->getOwner($owner);
     $role->setOwner($owner);
     return $role;
 }
Exemplo n.º 7
0
 /**
  * @param Role   $role
  * @param string $field
  * @param mixed  $data
  *
  * @throws \InvalidArgumentException
  */
 protected function setData(Role $role, $field, $data)
 {
     switch ($field) {
         case 'role':
             $role->setRole($data);
             break;
         case 'label':
             $role->setLabel($data);
             break;
     }
 }
 /**
  * Load roles full_access_role
  *
  * @param \Doctrine\Common\Persistence\ObjectManager $manager
  */
 public function load(ObjectManager $manager)
 {
     $role_template_access = new Role('ROLE_LOGIN_ACCESS');
     $role_template_access->setLabel('Log-in access role');
     $this->addReference('login_access_role', $role_template_access);
     $manager->persist($role_template_access);
     $full_access_role = new Role('ROLE_FULL_ACCESS');
     $full_access_role->setLabel('Full access role');
     $this->addReference('full_access_role', $full_access_role);
     $manager->persist($full_access_role);
     $manager->flush();
 }
Exemplo n.º 9
0
 /**
  * {@inheritdoc}
  */
 public function load(ObjectManager $manager)
 {
     $roleTest1 = new Role();
     $roleTest1->setLabel('Role 1');
     $roleTest1->setRole('ROLE_TEST_1');
     $manager->persist($roleTest1);
     $this->setReference('ROLE_TEST_1', $roleTest1);
     $roleTest2 = new Role();
     $roleTest2->setLabel('Role 2');
     $roleTest2->setRole('ROLE_TEST_2');
     $manager->persist($roleTest2);
     $this->setReference('ROLE_TEST_2', $roleTest2);
     $manager->flush();
 }
Exemplo n.º 10
0
 /**
  * Load roles
  *
  * @param \Doctrine\Common\Persistence\ObjectManager $manager
  */
 public function load(ObjectManager $manager)
 {
     $roleAnonymous = new Role(self::ROLE_ANONYMOUS);
     $roleAnonymous->setLabel('Anonymous');
     $roleUser = new Role(self::ROLE_USER);
     $roleUser->setLabel('User');
     $roleSAdmin = new Role(self::ROLE_ADMINISTRATOR);
     $roleSAdmin->setLabel('Administrator');
     $roleManager = new Role(self::ROLE_MANAGER);
     $roleManager->setLabel('Manager');
     $manager->persist($roleAnonymous);
     $manager->persist($roleUser);
     $manager->persist($roleSAdmin);
     $manager->persist($roleManager);
     $manager->flush();
 }
 /**
  * {@inheritDoc}
  */
 public function setLabel($label)
 {
     $this->__initializer__ && $this->__initializer__->__invoke($this, 'setLabel', array($label));
     return parent::setLabel($label);
 }