diff options
author | Frederic Guillot <fred@kanboard.net> | 2015-09-18 22:37:00 -0400 |
---|---|---|
committer | Frederic Guillot <fred@kanboard.net> | 2015-09-18 22:37:00 -0400 |
commit | e8228c3975bb7cf2179d2ba670aa55d3e7780f3c (patch) | |
tree | 8f5ce7b8fd5c465b2dc4f1128fc82be93665f919 /app/Model | |
parent | 1fa72295f20aa9794f1b33dfde95960c34d85366 (diff) |
Add some tests
Diffstat (limited to 'app/Model')
-rw-r--r-- | app/Model/Project.php | 10 | ||||
-rw-r--r-- | app/Model/TaskFinder.php | 74 |
2 files changed, 28 insertions, 56 deletions
diff --git a/app/Model/Project.php b/app/Model/Project.php index 6e4cfcfd..8ddcc443 100644 --- a/app/Model/Project.php +++ b/app/Model/Project.php @@ -172,16 +172,20 @@ class Project extends Base { return $this->db->table(self::TABLE)->asc('name')->findAll(); } - + /** * Get all projects with given Ids * * @access public - * @param integer[] $project_ids Projects id + * @param integer[] $project_ids * @return array */ - public function getAllByIds($project_ids) + public function getAllByIds(array $project_ids) { + if (empty($project_ids)) { + return array(); + } + return $this->db->table(self::TABLE)->in('id', $project_ids)->asc('name')->findAll(); } 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(); } /** |