public function searchUsersAction(Request $request)
{
$em = $this->container->get('em');
$onlyPublic = true;
try {
$user = $this->container->get('user')->getCurrentUser();
if ($user && $user->isAdmin()) {
$onlyPublic = null;
}
} catch (AuthenticationException $e) {
}
$criteria = new \Newscoop\User\UserCriteria();
$criteria->is_public = $onlyPublic;
$criteria->query_name = $request->query->get('query', '');
$results = $em->getRepository('Newscoop\\Entity\\User')->getListByCriteria($criteria, false);
$users = $results[0]->getQuery();
$paginator = $this->get('newscoop.paginator.paginator_service');
$users = $paginator->paginate($users, array('distinct' => false));
return $users;
}