diff options
author | Frédéric Guillot <fred@kanboard.net> | 2014-11-11 21:52:22 -0500 |
---|---|---|
committer | Frédéric Guillot <fred@kanboard.net> | 2014-11-11 21:52:22 -0500 |
commit | 5ca9a12a0ac64dccded3f8ebae16c00f91a49455 (patch) | |
tree | 78b450fd849a9a0ddaa3ecc181fc1b8e3a27ada0 /app/Model | |
parent | 7a5b78dbc6c3ad896bd07ad19aa8c9cb8fec11ac (diff) |
Add subtasks to the dashboard
Diffstat (limited to 'app/Model')
-rw-r--r-- | app/Model/SubTask.php | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/app/Model/SubTask.php b/app/Model/SubTask.php index 886ad1f3..f414da7f 100644 --- a/app/Model/SubTask.php +++ b/app/Model/SubTask.php @@ -93,6 +93,38 @@ class SubTask extends Base } /** + * Get all subtasks assigned to a user + * + * @access public + * @param integer $user_id User id + * @param array $status List of status + * @return array + */ + public function getAllByUser($user_id, array $status) + { + $status_list = $this->getStatusList(); + $subtasks = $this->db->table(self::TABLE) + ->columns( + self::TABLE.'.*', + Task::TABLE.'.project_id', + Task::TABLE.'.color_id', + Project::TABLE.'.name AS project_name' + ) + ->eq('user_id', $user_id) + ->in(self::TABLE.'.status', $status) + ->join(Task::TABLE, 'id', 'task_id') + ->join(Project::TABLE, 'id', 'project_id', Task::TABLE) + ->asc(Task::TABLE.'.id') + ->findAll(); + + foreach ($subtasks as &$subtask) { + $subtask['status_name'] = $status_list[$subtask['status']]; + } + + return $subtasks; + } + + /** * Get a subtask by the id * * @access public |