summaryrefslogtreecommitdiff
path: root/app/Model/ProjectPermission.php
diff options
context:
space:
mode:
authorFrédéric Guillot <fred@kanboard.net>2015-01-02 17:19:13 -0500
committerFrédéric Guillot <fred@kanboard.net>2015-01-02 17:19:13 -0500
commit3076ba22dd8346725b4e1ad757532c00df5b18d9 (patch)
treee893c113c34d86c5dc923953754dc68c4b1d842d /app/Model/ProjectPermission.php
parentc32567857db9bb1a6dfa339f58d817c97f64db11 (diff)
Fix bugs, improve perfs and use SimpleLogger instead of Monolog
Diffstat (limited to 'app/Model/ProjectPermission.php')
-rw-r--r--app/Model/ProjectPermission.php12
1 files changed, 10 insertions, 2 deletions
diff --git a/app/Model/ProjectPermission.php b/app/Model/ProjectPermission.php
index a53f9195..fc7ab0d5 100644
--- a/app/Model/ProjectPermission.php
+++ b/app/Model/ProjectPermission.php
@@ -298,7 +298,11 @@ class ProjectPermission extends Base
*/
public function getAllowedProjects($user_id)
{
- return $this->filterProjects($this->project->getListByStatus(Project::ACTIVE), $user_id, 'isUserAllowed');
+ if ($this->user->isAdmin($user_id)) {
+ return $this->project->getListByStatus(Project::ACTIVE);
+ }
+
+ return $this->getMemberProjects($user_id);
}
/**
@@ -310,7 +314,11 @@ class ProjectPermission extends Base
*/
public function getMemberProjects($user_id)
{
- return $this->filterProjects($this->project->getListByStatus(Project::ACTIVE), $user_id, 'isMember');
+ return $this->db
+ ->table(Project::TABLE)
+ ->eq('user_id', $user_id)
+ ->join(self::TABLE, 'project_id', 'id')
+ ->listing('projects.id', 'name');
}
/**