diff options
author | Frederic Guillot <fred@kanboard.net> | 2017-03-12 21:36:52 -0400 |
---|---|---|
committer | Frederic Guillot <fred@kanboard.net> | 2017-03-12 21:36:52 -0400 |
commit | 9b34631135f29480dda3ed2df463fbb5aab7c9e4 (patch) | |
tree | 46da2f342a440cc699b7aa9c61bd18d0d2ea01f5 /app/Formatter/TaskListSubtaskAssigneeFormatter.php | |
parent | f6b42eb8024b7db959f6d75118b3de0f96301262 (diff) |
Simplify dashboard to use new tasks list view
Diffstat (limited to 'app/Formatter/TaskListSubtaskAssigneeFormatter.php')
-rw-r--r-- | app/Formatter/TaskListSubtaskAssigneeFormatter.php | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/app/Formatter/TaskListSubtaskAssigneeFormatter.php b/app/Formatter/TaskListSubtaskAssigneeFormatter.php new file mode 100644 index 00000000..50b08cd8 --- /dev/null +++ b/app/Formatter/TaskListSubtaskAssigneeFormatter.php @@ -0,0 +1,43 @@ +<?php + +namespace Kanboard\Formatter; + +/** + * Class TaskListSubtaskAssigneeFormatter + * + * @package Kanboard\Formatter + * @author Frederic Guillot + */ +class TaskListSubtaskAssigneeFormatter extends TaskListFormatter +{ + protected $userId = 0; + + /** + * Set assignee + * + * @param integer $userId + * @return $this + */ + public function withUserId($userId) + { + $this->userId = $userId; + return $this; + } + + /** + * Apply formatter + * + * @access public + * @return array + */ + public function format() + { + $tasks = parent::format(); + $taskIds = array_column($tasks, 'id'); + $subtasks = $this->subtaskModel->getAllByTaskIdsAndAssignee($taskIds, $this->userId); + $subtasks = array_column_index($subtasks, 'task_id'); + array_merge_relation($tasks, $subtasks, 'subtasks', 'id'); + + return $tasks; + } +} |