Allow searching for users in the user list.
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
This commit is contained in:
parent
7d678780c1
commit
da28bb45a7
|
|
@ -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
|
||||
)));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
|
||||
<div class="table-list-header">
|
||||
<div class="table-list-header-count">
|
||||
<?php if ($paginator->getTotal() > 1): ?>
|
||||
|
|
@ -9,4 +10,4 @@
|
|||
<div class="table-list-header-menu">
|
||||
<?= $this->render('user_list/sort_menu', array('paginator' => $paginator)) ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -17,6 +17,18 @@
|
|||
<?php endif ?>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="filter-box margin-bottom">
|
||||
<form method="get" action="<?= $this->url->dir() ?>" class="search">
|
||||
<?= $this->form->hidden('controller', array('controller' => 'UserListController')) ?>
|
||||
<?= $this->form->hidden('action', array('action' => 'search')) ?>
|
||||
|
||||
<div class="input-addon">
|
||||
<?= $this->form->text('search', $values, array(), array('placeholder="'.t('Search').'"'), 'input-addon-field') ?>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<?php if ($paginator->isEmpty()): ?>
|
||||
<p class="alert"><?= t('No users found.') ?></p>
|
||||
<?php elseif (! $paginator->isEmpty()): ?>
|
||||
|
|
|
|||
Loading…
Reference in New Issue