예제 #1
0
파일: UserManager.php 프로젝트: sulu/sulu
 /**
  * Process all user roles from request.
  *
  * @param UserInterface $user
  * @param array         $userRoles
  *
  * @return bool True if the processing was successful, otherwise false
  */
 public function processUserRoles(UserInterface $user, $userRoles)
 {
     $get = function ($entity) {
         /* @var UserInterface $entity */
         return $entity->getId();
     };
     $delete = function ($userRole) use($user) {
         $user->removeUserRole($userRole);
         $this->em->remove($userRole);
     };
     $update = function ($userRole, $userRoleData) {
         return $this->updateUserRole($userRole, $userRoleData);
     };
     $add = function ($userRole) use($user) {
         return $this->addUserRole($user, $userRole);
     };
     $entities = $user->getUserRoles();
     $result = $this->processSubEntities($entities, $userRoles, $get, $add, $update, $delete);
     $this->resetIndexOfSubentites($entities);
     return $result;
 }