From 31f3de9646e4e54db431be6a6751e931be43d995 Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Wed, 1 Jul 2015 18:28:32 -0400 Subject: Add global search section --- app/Controller/Search.php | 51 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 app/Controller/Search.php (limited to 'app/Controller') diff --git a/app/Controller/Search.php b/app/Controller/Search.php new file mode 100644 index 00000000..519f9ce4 --- /dev/null +++ b/app/Controller/Search.php @@ -0,0 +1,51 @@ +projectPermission->getAllowedProjects($this->userSession->getId()); + $search = $this->request->getStringParam('search'); + $nb_tasks = 0; + + $paginator = $this->paginator + ->setUrl('search', 'index', array('search' => $search)) + ->setMax(30) + ->setOrder('tasks.id') + ->setDirection('DESC'); + + if ($search !== '') { + + $query = $this + ->taskFilter + ->search($search) + ->filterByProjects(array_keys($projects)) + ->getQuery(); + + $paginator + ->setQuery($query) + ->calculate(); + + $nb_tasks = $paginator->getTotal(); + } + + $this->response->html($this->template->layout('search/index', array( + 'board_selector' => $projects, + 'values' => array( + 'search' => $search, + 'controller' => 'search', + 'action' => 'index', + ), + 'paginator' => $paginator, + 'title' => t('Search tasks').($nb_tasks > 0 ? ' ('.$nb_tasks.')' : '') + ))); + } +} -- cgit v1.2.3