diff options
Diffstat (limited to 'app/Model/TaskFinder.php')
-rw-r--r-- | app/Model/TaskFinder.php | 74 |
1 files changed, 21 insertions, 53 deletions
diff --git a/app/Model/TaskFinder.php b/app/Model/TaskFinder.php index 6cdf9146..e9735d81 100644 --- a/app/Model/TaskFinder.php +++ b/app/Model/TaskFinder.php @@ -177,14 +177,14 @@ class TaskFinder extends Base } /** - * Get a list of overdue tasks for all projects + * Get overdue tasks query * * @access public - * @return array + * @return \PicoDb\Table */ - public function getOverdueTasks() + public function getOverdueTasksQuery() { - $tasks = $this->db->table(Task::TABLE) + return $this->db->table(Task::TABLE) ->columns( Task::TABLE.'.id', Task::TABLE.'.title', @@ -201,74 +201,42 @@ class TaskFinder extends Base ->eq(Project::TABLE.'.is_active', 1) ->eq(Task::TABLE.'.is_active', 1) ->neq(Task::TABLE.'.date_due', 0) - ->lte(Task::TABLE.'.date_due', mktime(23, 59, 59)) - ->findAll(); + ->lte(Task::TABLE.'.date_due', mktime(23, 59, 59)); + } - return $tasks; + /** + * Get a list of overdue tasks for all projects + * + * @access public + * @return array + */ + public function getOverdueTasks() + { + return $this->getOverdueTasksQuery()->findAll(); } - + /** * Get a list of overdue tasks by project * * @access public + * @param integer $project_id * @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; + return $this->getOverdueTasksQuery()->eq(Task::TABLE.'.project_id', $project_id)->findAll(); } - + /** * Get a list of overdue tasks by user * * @access public + * @param integer $user_id * @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; + return $this->getOverdueTasksQuery()->eq(Task::TABLE.'.owner_id', $user_id)->findAll(); } /** |