Пример #1
0
 /**
  * @param $term string
  * @return array|AutocompleteUser[]
  */
 private function GetMyUsers($term)
 {
     $userSession = ServiceLocator::GetServer()->GetUserSession();
     if ($userSession->IsAdmin) {
         return $this->GetUsers($term);
     }
     $userRepo = new UserRepository();
     $user = $userRepo->LoadById($userSession->UserId);
     $groupIds = array();
     foreach ($user->GetAdminGroups() as $group) {
         $groupIds[] = $group->GroupId;
     }
     $users = array();
     if (!empty($groupIds)) {
         $userFilter = new SqlFilterLike(ColumnNames::FIRST_NAME, $term);
         $userFilter->_Or(new SqlFilterLike(ColumnNames::LAST_NAME, $term));
         $groupRepo = new GroupRepository();
         $results = $groupRepo->GetUsersInGroup($groupIds, null, null, $userFilter)->Results();
         /** @var $result UserItemView */
         foreach ($results as $result) {
             // consolidates results by user id if the user is in multiple groups
             $users[$result->Id] = new AutocompleteUser($result->Id, $result->First, $result->Last, $result->Email, $result->Username);
         }
     }
     return array_values($users);
 }