diff options
author | Timo Litzbarski <tili2@gmx.de> | 2015-09-17 16:27:59 +0000 |
---|---|---|
committer | Timo Litzbarski <tili2@gmx.de> | 2015-09-17 16:27:59 +0000 |
commit | 55ca46ad754b87991e5cc4c4bc26657b19d37830 (patch) | |
tree | 411ed1936d1ae8aa4e96a0b79534eef71bf3a977 /app/Model | |
parent | 08e09c1cac39eb0836ccf11e1ad411832d424022 (diff) |
#1232 Api changes: new getMyOverdueTasks, new getOverdueTasksByProject, allow getProjectActivity for user-api
Diffstat (limited to 'app/Model')
-rw-r--r-- | app/Model/TaskFinder.php | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/app/Model/TaskFinder.php b/app/Model/TaskFinder.php index 3e76041c..6cdf9146 100644 --- a/app/Model/TaskFinder.php +++ b/app/Model/TaskFinder.php @@ -206,6 +206,70 @@ class TaskFinder extends Base return $tasks; } + + /** + * Get a list of overdue tasks by project + * + * @access public + * @return array + */ + public function getOverdueTasksByProject($project_id) + { + $tasks = $this->db->table(Task::TABLE) + ->columns( + Task::TABLE.'.id', + Task::TABLE.'.title', + Task::TABLE.'.date_due', + Task::TABLE.'.project_id', + Task::TABLE.'.creator_id', + Task::TABLE.'.owner_id', + Project::TABLE.'.name AS project_name', + User::TABLE.'.username AS assignee_username', + User::TABLE.'.name AS assignee_name' + ) + ->join(Project::TABLE, 'id', 'project_id') + ->join(User::TABLE, 'id', 'owner_id') + ->eq(Project::TABLE.'.is_active', 1) + ->eq(Task::TABLE.'.project_id', $project_id) + ->eq(Task::TABLE.'.is_active', 1) + ->neq(Task::TABLE.'.date_due', 0) + ->lte(Task::TABLE.'.date_due', mktime(23, 59, 59)) + ->findAll(); + + return $tasks; + } + + /** + * Get a list of overdue tasks by user + * + * @access public + * @return array + */ + public function getOverdueTasksByUser($user_id) + { + $tasks = $this->db->table(Task::TABLE) + ->columns( + Task::TABLE.'.id', + Task::TABLE.'.title', + Task::TABLE.'.date_due', + Task::TABLE.'.project_id', + Task::TABLE.'.creator_id', + Task::TABLE.'.owner_id', + Project::TABLE.'.name AS project_name', + User::TABLE.'.username AS assignee_username', + User::TABLE.'.name AS assignee_name' + ) + ->join(Project::TABLE, 'id', 'project_id') + ->join(User::TABLE, 'id', 'owner_id') + ->eq(Project::TABLE.'.is_active', 1) + ->eq(Task::TABLE.'.owner_id', $user_id) + ->eq(Task::TABLE.'.is_active', 1) + ->neq(Task::TABLE.'.date_due', 0) + ->lte(Task::TABLE.'.date_due', mktime(23, 59, 59)) + ->findAll(); + + return $tasks; + } /** * Get project id for a given task |