Merge pull request #8688 from artoscinote/ma_SCI_12146

Fix viewable_by_user scope [SCI-12146]
This commit is contained in:
Martin Artnik 2025-07-22 10:49:45 +02:00 committed by GitHub
commit 1419ec1d98
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -27,12 +27,13 @@ module Shareable
end
scope :viewable_by_user, lambda { |user, teams = user.current_team|
teams = Team.where(id: teams.id) if teams.is_a?(Team) # handle single team
readable_ids = if permission_class == StorageLocation
readable_by_user(user).where(team: teams).pluck(:id)
elsif teams.permission_granted?(user, TeamPermissions::MANAGE)
where(team: teams).pluck(:id)
else
with_granted_permissions(user, "#{permission_class.name}Permissions::READ".constantize, teams).pluck(:id)
with_granted_permissions(user, "#{permission_class.name}Permissions::READ".constantize, teams).or(
where(team: teams.with_granted_permissions(user, TeamPermissions::MANAGE))
).pluck(:id)
end
shared_with_team_ids = joins(:team_shared_objects, :team).where(team_shared_objects: { team: teams }).pluck(:id)
globally_shared_ids =