From aa6fffb05a7d84a36991341610675499b6ea8a79 Mon Sep 17 00:00:00 2001 From: Frédéric Guillot Date: Sat, 15 Nov 2014 21:49:06 -0500 Subject: Add pagination and sorting to the dashboard --- app/Model/ProjectPaginator.php | 49 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 app/Model/ProjectPaginator.php (limited to 'app/Model/ProjectPaginator.php') diff --git a/app/Model/ProjectPaginator.php b/app/Model/ProjectPaginator.php new file mode 100644 index 00000000..9f1c39f0 --- /dev/null +++ b/app/Model/ProjectPaginator.php @@ -0,0 +1,49 @@ +db + ->table(Project::TABLE) + ->in('id', $project_ids) + ->offset($offset) + ->limit($limit) + ->orderBy($column, $direction) + ->findAll(); + + foreach ($projects as &$project) { + + $project['columns'] = $this->board->getColumns($project['id']); + + foreach ($project['columns'] as &$column) { + $column['nb_tasks'] = $this->taskFinder->countByColumnId($project['id'], $column['id']); + } + } + + return $projects; + } +} -- cgit v1.2.3