Add projects search
This commit is contained in:
parent
bda7f38ceb
commit
2eeca3db3a
|
|
@ -9,7 +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
|
* Add users, groups and projects search
|
||||||
* Romanian translation
|
* Romanian translation
|
||||||
|
|
||||||
Improvements:
|
Improvements:
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@ class GroupListController extends BaseController
|
||||||
$query = $this->groupModel->getQuery();
|
$query = $this->groupModel->getQuery();
|
||||||
|
|
||||||
if ($search !== '') {
|
if ($search !== '') {
|
||||||
$query->ilike('name', '%'.$search.'%');
|
$query->ilike('groups.name', '%'.$search.'%');
|
||||||
}
|
}
|
||||||
|
|
||||||
$paginator = $this->paginator
|
$paginator = $this->paginator
|
||||||
|
|
|
||||||
|
|
@ -23,16 +23,24 @@ class ProjectListController extends BaseController
|
||||||
$projectIds = $this->projectPermissionModel->getProjectIds($this->userSession->getId());
|
$projectIds = $this->projectPermissionModel->getProjectIds($this->userSession->getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$query = $this->projectModel->getQueryByProjectIds($projectIds);
|
||||||
|
$search = $this->request->getStringParam('search');
|
||||||
|
|
||||||
|
if ($search !== '') {
|
||||||
|
$query->ilike('projects.name', '%' . $search . '%');
|
||||||
|
}
|
||||||
|
|
||||||
$paginator = $this->paginator
|
$paginator = $this->paginator
|
||||||
->setUrl('ProjectListController', 'show')
|
->setUrl('ProjectListController', 'show')
|
||||||
->setMax(20)
|
->setMax(20)
|
||||||
->setOrder('name')
|
->setOrder('name')
|
||||||
->setQuery($this->projectModel->getQueryByProjectIds($projectIds))
|
->setQuery($query)
|
||||||
->calculate();
|
->calculate();
|
||||||
|
|
||||||
$this->response->html($this->helper->layout->app('project_list/listing', array(
|
$this->response->html($this->helper->layout->app('project_list/listing', array(
|
||||||
'paginator' => $paginator,
|
'paginator' => $paginator,
|
||||||
'title' => t('Projects') . ' (' . $paginator->getTotal() . ')',
|
'title' => t('Projects') . ' (' . $paginator->getTotal() . ')',
|
||||||
|
'values' => array('search' => $search),
|
||||||
)));
|
)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,15 @@
|
||||||
<?= $this->hook->render('template:project-list:menu:after') ?>
|
<?= $this->hook->render('template:project-list:menu:after') ?>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="margin-bottom">
|
||||||
|
<form method="get" action="<?= $this->url->dir() ?>" class="search">
|
||||||
|
<?= $this->form->hidden('controller', array('controller' => 'ProjectListController')) ?>
|
||||||
|
<?= $this->form->hidden('action', array('action' => 'show')) ?>
|
||||||
|
<?= $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 project.') ?></p>
|
<p class="alert"><?= t('There is no project.') ?></p>
|
||||||
<?php else: ?>
|
<?php else: ?>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue