diff options
Diffstat (limited to 'app/Controller/TaskListController.php')
-rw-r--r-- | app/Controller/TaskListController.php | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/app/Controller/TaskListController.php b/app/Controller/TaskListController.php new file mode 100644 index 00000000..898c14c8 --- /dev/null +++ b/app/Controller/TaskListController.php @@ -0,0 +1,45 @@ +<?php + +namespace Kanboard\Controller; + +use Kanboard\Filter\TaskProjectFilter; +use Kanboard\Model\Task as TaskModel; + +/** + * Task List Controller + * + * @package Kanboard\Controller + * @author Frederic Guillot + */ +class TaskListController extends BaseController +{ + /** + * Show list view for projects + * + * @access public + */ + public function show() + { + $project = $this->getProject(); + $search = $this->helper->projectHeader->getSearchQuery($project); + + $paginator = $this->paginator + ->setUrl('TaskListController', 'show', array('project_id' => $project['id'])) + ->setMax(30) + ->setOrder(TaskModel::TABLE.'.id') + ->setDirection('DESC') + ->setQuery($this->taskLexer + ->build($search) + ->withFilter(new TaskProjectFilter($project['id'])) + ->getQuery() + ) + ->calculate(); + + $this->response->html($this->helper->layout->app('task_list/show', array( + 'project' => $project, + 'title' => $project['name'], + 'description' => $this->helper->projectHeader->getDescription($project), + 'paginator' => $paginator, + ))); + } +} |