Custom project roles inherit from project members
This commit is contained in:
@@ -49,6 +49,18 @@ class Role
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the given role is custom or not
|
||||
*
|
||||
* @access public
|
||||
* @param string $role
|
||||
* @return bool
|
||||
*/
|
||||
public function isCustomProjectRole($role)
|
||||
{
|
||||
return ! empty($role) && $role !== self::PROJECT_MANAGER && $role !== self::PROJECT_MEMBER && $role !== self::PROJECT_VIEWER;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get role name
|
||||
*
|
||||
|
||||
@@ -150,6 +150,11 @@ class UserHelper extends Base
|
||||
|
||||
if ($result === null) {
|
||||
$role = $this->getProjectUserRole($project_id);
|
||||
|
||||
if ($this->role->isCustomProjectRole($role)) {
|
||||
$role = Role::PROJECT_MEMBER;
|
||||
}
|
||||
|
||||
$result = $this->projectAuthorization->isAllowed($controller, $action, $role);
|
||||
$this->memoryCache->set($key, $result);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user