diff options
author | Frederic Guillot <fred@kanboard.net> | 2015-08-16 22:17:45 -0400 |
---|---|---|
committer | Frederic Guillot <fred@kanboard.net> | 2015-08-16 22:17:45 -0400 |
commit | 2fd177363b1359566ad0078fbb8ec9138eea170c (patch) | |
tree | e0f51b1c81d6bc372f5877c598c2f35b1f2670bc /app/Model/Project.php | |
parent | 06638ff5e9eb150e6798b1b79bf77e24f807c7b1 (diff) |
Add project users overview
Diffstat (limited to 'app/Model/Project.php')
-rw-r--r-- | app/Model/Project.php | 37 |
1 files changed, 37 insertions, 0 deletions
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 @@ -261,6 +261,24 @@ class Project extends Base } /** + * 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 * * @access public @@ -280,6 +298,25 @@ class Project extends Base } /** + * 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 * * @access public |