/** * @param $name * @param $roleName * @return Role */ public static function registerRole($name, $roleName) { $role = new Role(); $role->setName($name); $role->setRole($roleName); return $role; }
/** * @param $name * @param $roleName * @return null|object|Role */ public function createRole($name, $roleName) { $role = $this->init->roleRepo->findOneBy(array('role' => $roleName)); if (empty($role)) { $role = Role::registerRole($name, $roleName); $this->init->roleRepo->store($role); } return $role; }
/** * @param User $user * @param $role * @param RoleRepository $roleRepository */ private function assignRolesFromSelection(User $user, Role $role, RoleRepository $roleRepository) { $roleDispo = $roleRepository->findOneBy(array('role' => Role::$roleDispo)); $roleManager = $roleRepository->findOneBy(array('role' => Role::$roleManager)); $roleAdmin = $roleRepository->findOneBy(array('role' => Role::$roleAdmin)); switch ($role->getName()) { case Role::$roleDispoName: $user->assignRole($roleDispo); $user->unsignRole($roleManager); $user->unsignRole($roleAdmin); break; case Role::$roleManagerName: $user->assignRole($roleDispo); $user->assignRole($roleManager); $user->unsignRole($roleAdmin); break; case Role::$roleAdminName: $user->assignRole($roleDispo); $user->assignRole($roleManager); $user->assignRole($roleAdmin); break; } }