Add search in groups

This commit is contained in:
Frederic Guillot
2017-11-16 14:39:18 -08:00
parent bea52c7578
commit bda7f38ceb
5 changed files with 24 additions and 9 deletions

View File

@@ -9,6 +9,7 @@ Breaking changes:
New features: New features:
* Add predefined templates for task descriptions * Add predefined templates for task descriptions
* Add user and group search box
* Romanian translation * Romanian translation
Improvements: Improvements:

View File

@@ -20,16 +20,26 @@ class GroupListController extends BaseController
*/ */
public function index() public function index()
{ {
$search = $this->request->getStringParam('search');
$query = $this->groupModel->getQuery();
if ($search !== '') {
$query->ilike('name', '%'.$search.'%');
}
$paginator = $this->paginator $paginator = $this->paginator
->setUrl('GroupListController', 'index') ->setUrl('GroupListController', 'index')
->setMax(30) ->setMax(30)
->setOrder(GroupModel::TABLE.'.name') ->setOrder(GroupModel::TABLE.'.name')
->setQuery($this->groupModel->getQuery()) ->setQuery($query)
->calculate(); ->calculate();
$this->response->html($this->helper->layout->app('group/index', array( $this->response->html($this->helper->layout->app('group/index', array(
'title' => t('Groups').' ('.$paginator->getTotal().')', 'title' => t('Groups').' ('.$paginator->getTotal().')',
'paginator' => $paginator, 'paginator' => $paginator,
'values' => array(
'search' => $search
),
))); )));
} }

View File

@@ -35,7 +35,7 @@ class UserListController extends BaseController
*/ */
public function search() public function search()
{ {
$search = urldecode($this->request->getStringParam('search')); $search = $this->request->getStringParam('search');
$paginator = $this->userPagination->getListingPaginator(); $paginator = $this->userPagination->getListingPaginator();
if ($search !== '' && ! $paginator->isEmpty()) { if ($search !== '' && ! $paginator->isEmpty()) {
@@ -56,5 +56,4 @@ class UserListController extends BaseController
'paginator' => $paginator 'paginator' => $paginator
))); )));
} }
} }

View File

@@ -4,6 +4,15 @@
<li><?= $this->modal->medium('user-plus', t('New group'), 'GroupCreationController', 'show') ?></li> <li><?= $this->modal->medium('user-plus', t('New group'), 'GroupCreationController', 'show') ?></li>
</ul> </ul>
</div> </div>
<div class="margin-bottom">
<form method="get" action="<?= $this->url->dir() ?>" class="search">
<?= $this->form->hidden('controller', array('controller' => 'GroupListController')) ?>
<?= $this->form->hidden('action', array('action' => 'index')) ?>
<?= $this->form->text('search', $values, array(), array('placeholder="'.t('Search').'"')) ?>
</form>
</div>
<?php if ($paginator->isEmpty()): ?> <?php if ($paginator->isEmpty()): ?>
<p class="alert"><?= t('There is no group.') ?></p> <p class="alert"><?= t('There is no group.') ?></p>
<?php else: ?> <?php else: ?>

View File

@@ -17,15 +17,11 @@
<?php endif ?> <?php endif ?>
</div> </div>
<div class="margin-bottom">
<div class="filter-box margin-bottom">
<form method="get" action="<?= $this->url->dir() ?>" class="search"> <form method="get" action="<?= $this->url->dir() ?>" class="search">
<?= $this->form->hidden('controller', array('controller' => 'UserListController')) ?> <?= $this->form->hidden('controller', array('controller' => 'UserListController')) ?>
<?= $this->form->hidden('action', array('action' => 'search')) ?> <?= $this->form->hidden('action', array('action' => 'search')) ?>
<?= $this->form->text('search', $values, array(), array('placeholder="'.t('Search').'"')) ?>
<div class="input-addon">
<?= $this->form->text('search', $values, array(), array('placeholder="'.t('Search').'"'), 'input-addon-field') ?>
</div>
</form> </form>
</div> </div>