summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/Controller/UserListController.php33
-rw-r--r--app/Template/user_list/header.php3
-rw-r--r--app/Template/user_list/listing.php12
3 files changed, 47 insertions, 1 deletions
diff --git a/app/Controller/UserListController.php b/app/Controller/UserListController.php
index 6096923a..580c853c 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 9ff3f596..9dbcc2a7 100644
--- a/app/Template/user_list/header.php
+++ b/app/Template/user_list/header.php
@@ -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> \ No newline at end of file
+</div>
diff --git a/app/Template/user_list/listing.php b/app/Template/user_list/listing.php
index 899a20e7..3bd38495 100644
--- a/app/Template/user_list/listing.php
+++ b/app/Template/user_list/listing.php
@@ -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()): ?>