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/Project.php | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'app/Model/Project.php') diff --git a/app/Model/Project.php b/app/Model/Project.php index 3c864e5d..fedc41ac 100644 --- a/app/Model/Project.php +++ b/app/Model/Project.php @@ -260,6 +260,24 @@ class Project extends Base return $projects; } + /** + * Fetch more information for each project + * + * @access public + * @param array $projects + * @return array + */ + public function applyProjectDetails(array $projects) + { + foreach ($projects as &$project) { + $this->getColumnStats($project); + $project['managers'] = $this->projectPermission->getManagers($project['id']); + $project['members'] = $this->projectPermission->getOnlyMembers($project['id']); + } + + return $projects; + } + /** * Get project summary for a list of project * @@ -279,6 +297,25 @@ class Project extends Base ->callback(array($this, 'applyColumnStats')); } + /** + * Get project details (users + columns) for a list of project + * + * @access public + * @param array $project_ids List of project id + * @return \PicoDb\Table + */ + public function getQueryProjectDetails(array $project_ids) + { + if (empty($project_ids)) { + return $this->db->table(Project::TABLE)->limit(0); + } + + return $this->db + ->table(Project::TABLE) + ->in('id', $project_ids) + ->callback(array($this, 'applyProjectDetails')); + } + /** * Create a project * -- cgit v1.2.3