diff --git a/app/Controller/UserListController.php b/app/Controller/UserListController.php index 6096923a3..580c853cf 100644 --- a/app/Controller/UserListController.php +++ b/app/Controller/UserListController.php @@ -2,6 +2,8 @@ namespace Kanboard\Controller; +use Kanboard\Filter\UserNameFilter; + /** * Class User List Controller * @@ -24,4 +26,35 @@ class UserListController extends BaseController 'paginator' => $paginator, ))); } + + /** + * Search in users + * + * @access public + */ + public function search() + { + $search = urldecode($this->request->getStringParam('search')); + $paginator = $this->userPagination->getListingPaginator(); + + if ($search !== '' && ! $paginator->isEmpty()) { + + $paginator = $paginator + ->setUrl('UserListController', 'search', array('search' => $search)) + ->setQuery($this->userQuery + ->withFilter(new UserNameFilter($search)) + ->getQuery() + ) + ->calculate(); + } + + $this->response->html($this->helper->layout->app('user_list/listing', array( + 'title' => t('Users').' ('.$paginator->getTotal().')', + 'values' => array( + 'search' => $search, + ), + 'paginator' => $paginator + ))); + } + } diff --git a/app/Template/user_list/header.php b/app/Template/user_list/header.php index 9ff3f596a..9dbcc2a78 100644 --- a/app/Template/user_list/header.php +++ b/app/Template/user_list/header.php @@ -1,3 +1,4 @@ +
= t('No users found.') ?>
isEmpty()): ?>