mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-10-02 18:04:29 +08:00
Merge pull request #8694 from artoscinote/ma_SCI_12152
Fix user_assignment priority in .permission_granted? [SCI-12152]
This commit is contained in:
commit
a26d08ca3e
1 changed files with 5 additions and 3 deletions
|
@ -33,9 +33,11 @@ module PermissionCheckableModel
|
|||
end
|
||||
|
||||
def permission_granted?(user, permission, permission_team = user.permission_team)
|
||||
return true if user_assignments.joins(:user_role)
|
||||
.where(user: user, team: permission_team)
|
||||
.exists?(['user_roles.permissions @> ARRAY[?]::varchar[]', [permission]])
|
||||
if user_assignments.exists?(user: user, team: permission_team)
|
||||
return user_assignments.joins(:user_role)
|
||||
.where(user: user, team: permission_team)
|
||||
.exists?(['user_roles.permissions @> ARRAY[?]::varchar[]', [permission]])
|
||||
end
|
||||
|
||||
user_roles = UserRole.left_outer_joins(:team_assignments, user_group_assignments: { user_group: :users })
|
||||
user_roles.where(user_group_assignments: { assignable: self, user_groups: { users: user } })
|
||||
|
|
Loading…
Add table
Reference in a new issue