summaryrefslogtreecommitdiff
path: root/app/Model/Board.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/Model/Board.php')
-rw-r--r--app/Model/Board.php23
1 files changed, 12 insertions, 11 deletions
diff --git a/app/Model/Board.php b/app/Model/Board.php
index 9ba2e066..8208b99d 100644
--- a/app/Model/Board.php
+++ b/app/Model/Board.php
@@ -227,29 +227,30 @@ class Board extends Base
}
/**
- * Get all columns and tasks for a given project
+ * Get all tasks sorted by columns and swimlanes
*
* @access public
* @param integer $project_id Project id
* @return array
*/
- public function get($project_id)
+ public function getBoard($project_id)
{
+ $swimlanes = $this->swimlane->getSwimlanes($project_id);
$columns = $this->getColumns($project_id);
- $tasks = $this->taskFinder->getTasksOnBoard($project_id);
+ $nb_columns = count($columns);
- foreach ($columns as &$column) {
+ foreach ($swimlanes as &$swimlane) {
- $column['tasks'] = array();
-
- foreach ($tasks as &$task) {
- if ($task['column_id'] == $column['id']) {
- $column['tasks'][] = $task;
- }
+ foreach ($columns as &$column) {
+ $column['tasks'] = $this->taskFinder->getTasksByColumnAndSwimlane($project_id, $column['id'], $swimlane['id']);
+ $column['nb_tasks'] = count($column['tasks']);
}
+
+ $swimlane['columns'] = $columns;
+ $swimlane['nb_columns'] = $nb_columns;
}
- return $columns;
+ return $swimlanes;
}
/**