/** * @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 string $name * @param string $translationKey * @param \Claroline\CoreBundle\Entity\Workspace\Workspace $workspace * @param boolean $isReadOnly * * @return \Claroline\CoreBundle\Entity\Role */ public function createWorkspaceRole($name, $translationKey, Workspace $workspace, $isReadOnly = false) { $role = new Role(); $role->setName($name); $role->setTranslationKey($translationKey); $role->setReadOnly($isReadOnly); $role->setType(Role::WS_ROLE); $role->setWorkspace($workspace); $this->om->persist($role); $workspace->addRole($role); $this->om->persist($workspace); $this->om->flush(); return $role; }
protected static function createRole($name, Workspace $workspace = null) { $role = new Role(); $role->setName($name); $role->setTranslationKey($name); $role->setType(Role::PLATFORM_ROLE); if ($workspace) { $role->setType(Role::WS_ROLE); $role->setWorkspace($workspace); } self::create($name, $role); }