コード例 #1
0
 /**
  * @param \Claroline\CoreBundle\Entity\Workspace\Workspace $workspace
  * @param \Claroline\CoreBundle\Entity\User                $user
  *
  * @return \Claroline\CoreBundle\Entity\User
  */
 public function addUserAction(Workspace $workspace, User $user)
 {
     $role = $this->roleManager->getCollaboratorRole($workspace);
     $userRoles = $this->roleManager->getWorkspaceRolesForUser($user, $workspace);
     if (count($userRoles) === 0) {
         $this->roleManager->associateRole($user, $role);
         $this->dispatcher->dispatch('claroline_workspace_register_user', 'WorkspaceAddUser', [$role, $user]);
     }
     $token = new UsernamePasswordToken($user, null, 'main', $user->getRoles());
     $this->container->get('security.context')->setToken($token);
     return $user;
 }