/** * @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; } }