java-topology/defects/redmine-0004/patch/redmine-0004-role-add-permission-set.patch

19 lines
508 B
Diff

# UNDF: UNDF-2026-000001148
--- a/app/models/role.rb
+++ b/app/models/role.rb
@@ -129,10 +129,11 @@ class Role < ApplicationRecord
def add_permission!(*perms)
self.permissions = [] unless permissions.is_a?(Array)
permissions_will_change!
- perms.each do |p|
- p = p.to_sym
- permissions << p unless permissions.include?(p)
- end
+ existing = permissions.to_set
+ perms.each do |p|
+ p = p.to_sym
+ permissions << p if existing.add?(p)
+ end
save!
end