Return the highest role for a project when a user is member of multiple groups

This commit is contained in:
Frederic Guillot
2016-01-18 21:20:35 -05:00
parent bcbb329786
commit ddb73063a7
5 changed files with 62 additions and 2 deletions

View File

@@ -48,11 +48,13 @@ class ProjectGroupRole extends Base
*/
public function getUserRole($project_id, $user_id)
{
return $this->db->table(self::TABLE)
$roles = $this->db->table(self::TABLE)
->join(GroupMember::TABLE, 'group_id', 'group_id', self::TABLE)
->eq(GroupMember::TABLE.'.user_id', $user_id)
->eq(self::TABLE.'.project_id', $project_id)
->findOneColumn('role');
->findAllByColumn('role');
return $this->projectAccessMap->getHighestRole($roles);
}
/**