Merge pull request #8801 from okriuchykhin/ok_SCI_12252

Fix access management for STI models [SCI-12252]
This commit is contained in:
Martin Artnik 2025-08-14 16:18:40 +02:00 committed by GitHub
commit fbea85c273
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 6 additions and 6 deletions

View file

@ -124,7 +124,7 @@ module AccessPermissions
private
def model_parameter
@model.model_name.param_key
@model.class.permission_class.model_name.param_key
end
def manage_permission_constant

View file

@ -7,7 +7,7 @@ module UserRolesHelper
viewer_role = UserRole.find_predefined_viewer_role
roles = [[viewer_role.name, viewer_role.id]]
else
permission_group = "#{object.class.name}Permissions".constantize
permission_group = "#{object.class.permission_class}Permissions".constantize
permissions = permission_group.constants.map { |const| permission_group.const_get(const) }
roles = user_roles_subset_by_permissions(permissions).order(id: :asc).pluck(:name, :id)

View file

@ -53,6 +53,10 @@ class Repository < RepositoryBase
.where(team: teams)
}
def self.permission_class
Repository
end
def top_level_assignable
true
end

View file

@ -27,10 +27,6 @@ class RepositoryBase < ApplicationRecord
# Not discarded
default_scope -> { kept }
def self.permission_class
Repository
end
def self.stock_management_enabled?
ApplicationSettings.instance.values['stock_management_enabled']
end