From 2fd177363b1359566ad0078fbb8ec9138eea170c Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Sun, 16 Aug 2015 22:17:45 -0400 Subject: Add project users overview --- app/Model/TaskFinder.php | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'app/Model/TaskFinder.php') diff --git a/app/Model/TaskFinder.php b/app/Model/TaskFinder.php index 6cf79d1f..b98e3bd5 100644 --- a/app/Model/TaskFinder.php +++ b/app/Model/TaskFinder.php @@ -12,6 +12,43 @@ use PDO; */ class TaskFinder extends Base { + /** + * Get query for project user overview + * + * @access public + * @param array $project_ids + * @param integer $is_active + * @return \PicoDb\Table + */ + public function getProjectUserOverviewQuery(array $project_ids, $is_active) + { + if (empty($project_ids)) { + $project_ids = array(-1); + } + + return $this->db + ->table(Task::TABLE) + ->columns( + Task::TABLE.'.id', + Task::TABLE.'.title', + Task::TABLE.'.date_due', + Task::TABLE.'.date_started', + Task::TABLE.'.project_id', + Task::TABLE.'.color_id', + Task::TABLE.'.time_spent', + Task::TABLE.'.time_estimated', + Project::TABLE.'.name AS project_name', + Board::TABLE.'.title AS column_name', + User::TABLE.'.username AS assignee_username', + User::TABLE.'.name AS assignee_name' + ) + ->eq(Task::TABLE.'.is_active', $is_active) + ->in(Project::TABLE.'.id', $project_ids) + ->join(Project::TABLE, 'id', 'project_id') + ->join(Board::TABLE, 'id', 'column_id', Task::TABLE) + ->join(User::TABLE, 'id', 'owner_id', Task::TABLE); + } + /** * Get query for assigned user tasks * -- cgit v1.2.3