forked from External/greenlight
GRN2-xx: Made role priority unique scoped to provider (#942)
* Made role priority unique scoped to provider * Fixed issues related to update_role after making role priority unique
This commit is contained in:
@ -38,8 +38,8 @@ class Role < ApplicationRecord
|
||||
send_demoted_email: true, can_edit_site_settings: true, can_manage_rooms_recordings: true,
|
||||
can_edit_roles: true, can_manage_users: true)
|
||||
Role.create(name: "pending", provider: provider, priority: -1, colour: "#17a2b8").update_all_role_permissions
|
||||
Role.create(name: "denied", provider: provider, priority: -1, colour: "#343a40").update_all_role_permissions
|
||||
Role.create(name: "super_admin", provider: provider, priority: -2, colour: "#cd201f")
|
||||
Role.create(name: "denied", provider: provider, priority: -2, colour: "#343a40").update_all_role_permissions
|
||||
Role.create(name: "super_admin", provider: provider, priority: -3, colour: "#cd201f")
|
||||
.update_all_role_permissions(can_create_rooms: true,
|
||||
send_promoted_email: true, send_demoted_email: true, can_edit_site_settings: true,
|
||||
can_edit_roles: true, can_manage_users: true, can_manage_rooms_recordings: true,
|
||||
@ -56,8 +56,8 @@ class Role < ApplicationRecord
|
||||
role.priority = user_role.priority
|
||||
user_role.priority += 1
|
||||
|
||||
role.save!
|
||||
user_role.save!
|
||||
role.save!
|
||||
|
||||
role
|
||||
end
|
||||
|
@ -238,9 +238,9 @@ class User < ApplicationRecord
|
||||
end
|
||||
|
||||
def self.all_users_highest_priority_role
|
||||
User.joins("INNER JOIN (SELECT user_id, role_id, min(roles.priority) FROM users_roles " \
|
||||
User.joins("INNER JOIN (SELECT user_id, min(roles.priority) as role_priority FROM users_roles " \
|
||||
"INNER JOIN roles ON users_roles.role_id = roles.id GROUP BY user_id) as a ON " \
|
||||
"a.user_id = users.id INNER JOIN roles ON roles.id = a.role_id " \
|
||||
"a.user_id = users.id INNER JOIN roles ON roles.priority = a.role_priority " \
|
||||
" INNER JOIN role_permissions ON roles.id = role_permissions.role_id").distinct
|
||||
end
|
||||
|
||||
|
Reference in New Issue
Block a user