summaryrefslogtreecommitdiff
path: root/app/Model
diff options
context:
space:
mode:
authorFrederic Guillot <fred@kanboard.net>2015-09-18 22:37:00 -0400
committerFrederic Guillot <fred@kanboard.net>2015-09-18 22:37:00 -0400
commite8228c3975bb7cf2179d2ba670aa55d3e7780f3c (patch)
tree8f5ce7b8fd5c465b2dc4f1128fc82be93665f919 /app/Model
parent1fa72295f20aa9794f1b33dfde95960c34d85366 (diff)
Add some tests
Diffstat (limited to 'app/Model')
-rw-r--r--app/Model/Project.php10
-rw-r--r--app/Model/TaskFinder.php74
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();
}
/**