Squashed commit of the following: commit 46595b7ae0bccfc8e5252daf8101e59ff53fdcdf Author: Ramón Cahenzli <rca@psy-q.ch> Date: Thu Nov 16 19:12:11 2017 +0100 Preserve search terms and sort order commit 5445816f1dd7e7de876e226cf8479660a92c07ad Author: Ramón Cahenzli <rca@psy-q.ch> Date: Thu Nov 16 18:53:43 2017 +0100 First working user search. commit 620b9787ef7998c4bf219d25075e35f4cfa3d1ee Author: Ramón Cahenzli <rca@psy-q.ch> Date: Thu Nov 16 16:06:37 2017 +0100 Moving user search to its own action commit 0c17ac2428c2b38c9535f7a63f8be7582e4e332b Author: Ramón Cahenzli <rca@psy-q.ch> Date: Thu Nov 16 14:58:34 2017 +0100 WIP on user search, adding search form
61 lines
1.5 KiB
PHP
61 lines
1.5 KiB
PHP
<?php
|
|
|
|
namespace Kanboard\Controller;
|
|
|
|
use Kanboard\Filter\UserNameFilter;
|
|
|
|
/**
|
|
* Class User List Controller
|
|
*
|
|
* @package Kanboard\Controller
|
|
* @author Frederic Guillot
|
|
*/
|
|
class UserListController extends BaseController
|
|
{
|
|
/**
|
|
* List all users
|
|
*
|
|
* @access public
|
|
*/
|
|
public function show()
|
|
{
|
|
$paginator = $this->userPagination->getListingPaginator();
|
|
|
|
$this->response->html($this->helper->layout->app('user_list/listing', array(
|
|
'title' => t('Users').' ('.$paginator->getTotal().')',
|
|
'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
|
|
)));
|
|
}
|
|
|
|
}
|