示例#1
0
 protected function setUp()
 {
     parent::setUp();
     $this->persister = $this->client->getContainer()->get('claroline.library.testing.persister');
     //users
     $this->john = $this->persister->user('john');
     $roleAdmin = $this->persister->role('ROLE_ADMIN');
     $this->teacherRole = $this->persister->role('ROLE_TEACHER');
     $this->baseRole = $this->persister->role('ROLE_BASE');
     $this->admin = $this->persister->user('admin');
     $this->admin->addRole($roleAdmin);
     //organization
     $organization = $this->persister->organization('organization');
     $this->adminOrga = $this->persister->user('adminOrga');
     $this->groupOrga = $this->persister->group('groupOrga');
     $this->groupOrga->addRole($this->baseRole);
     $this->groupBase = $this->persister->group('groupBase');
     $this->groupOrga->addOrganization($organization);
     $this->adminOrga->addAdministratedOrganization($organization);
     //persist
     $this->persister->persist($this->groupOrga);
     $this->persister->persist($this->adminOrga);
     $this->persister->persist($this->admin);
     $this->persister->flush();
 }
 protected function setUp()
 {
     parent::setUp();
     $this->persister = $this->client->getContainer()->get('claroline.library.testing.persister');
     $this->john = $this->persister->user('john');
     $roleAdmin = $this->persister->role('ROLE_ADMIN');
     $this->admin = $this->persister->user('admin');
     $this->admin->addRole($roleAdmin);
     $this->persister->persist($this->admin);
     $this->persister->flush();
 }
示例#3
0
 /**
  * @param Workspace $workspace
  * @param User      $user
  *
  * @return User
  */
 public function workspaceUser(Workspace $workspace, User $user)
 {
     $role = new Role();
     $role->setName("ROLE_WS_{$workspace->getName()}_{$user->getUsername()}");
     $role->setTranslationKey($role->getName());
     $role->setWorkspace($workspace);
     $user->addRole($role);
     $this->om->persist($role);
     $this->om->persist($user);
     return $user;
 }
 /**
  * @param \Claroline\CoreBundle\Entity\Workspace\Workspace $source
  * @param \Claroline\CoreBundle\Entity\Workspace\Workspace $workspace
  * @param \Claroline\CoreBundle\Entity\User $user
  */
 private function duplicateWorkspaceRoles(Workspace $source, Workspace $workspace, User $user)
 {
     $guid = $workspace->getGuid();
     $roles = $source->getRoles();
     $unusedRolePartName = '_' . $source->getGuid();
     foreach ($roles as $role) {
         $roleName = str_replace($unusedRolePartName, '', $role->getName());
         $createdRole = $this->roleManager->createWorkspaceRole($roleName . '_' . $guid, $role->getTranslationKey(), $workspace, $role->isReadOnly());
         if ($roleName === 'ROLE_WS_MANAGER') {
             $user->addRole($createdRole);
             $this->om->persist($user);
         }
     }
 }
示例#5
0
 /**
  * @param User $user
  *
  * @return \Claroline\CoreBundle\Entity\Role
  */
 public function createUserRole(User $user)
 {
     $username = $user->getUsername();
     $roleName = 'ROLE_USER_' . strtoupper($username);
     $role = $this->getRoleByName($roleName);
     $this->om->startFlushSuite();
     if (is_null($role)) {
         $role = $this->om->factory('Claroline\\CoreBundle\\Entity\\Role');
         $role->setName($roleName);
         $role->setTranslationKey($username);
         $role->setReadOnly(true);
         $role->setType(Role::USER_ROLE);
         $this->om->persist($role);
     }
     $user->addRole($role);
     $this->om->endFlushSuite();
     return $role;
 }
示例#6
0
 public function grantAdminRole(User $user)
 {
     $role = $this->role('ROLE_ADMIN');
     $user->addRole($role);
     $this->om->persist($user);
 }
示例#7
0
 protected static function createUser($name, array $roles = array(), Workspace $personalWorkspace = null)
 {
     $user = new User();
     $user->setFirstName($name . 'FirstName');
     $user->setLastName($name . 'LastName');
     $user->setUsername($name . 'Username');
     $user->setPlainPassword($name . 'Password');
     $user->setMail($name . '@claroline.net');
     $user->setCreationDate(self::$time);
     foreach ($roles as $role) {
         $user->addRole($role);
     }
     if ($personalWorkspace) {
         $user->setPersonalWorkspace($personalWorkspace);
     }
     self::create($name, $user);
 }