diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/finders/concerns/finder_with_group_hierarchy.rb | 6 | ||||
-rw-r--r-- | app/models/audit_event.rb | 4 |
2 files changed, 9 insertions, 1 deletions
diff --git a/app/finders/concerns/finder_with_group_hierarchy.rb b/app/finders/concerns/finder_with_group_hierarchy.rb index 86ccac19b63..4ced544ba2c 100644 --- a/app/finders/concerns/finder_with_group_hierarchy.rb +++ b/app/finders/concerns/finder_with_group_hierarchy.rb @@ -27,6 +27,12 @@ module FinderWithGroupHierarchy # we can preset root group for all of them to optimize permission checks Group.preset_root_ancestor_for(groups) + # Preloading the max access level for the given groups to avoid N+1 queries + # during the access check. + if !skip_authorization && current_user && Feature.enabled?(:preload_max_access_levels_for_labels_finder, group) + Preloaders::UserMaxAccessLevelInGroupsPreloader.new(groups, current_user).execute + end + groups_user_can_read_items(groups).map(&:id) end end diff --git a/app/models/audit_event.rb b/app/models/audit_event.rb index 4d92cb1becf..3312216932b 100644 --- a/app/models/audit_event.rb +++ b/app/models/audit_event.rb @@ -65,7 +65,9 @@ class AuditEvent < ApplicationRecord end def formatted_details - details.merge(details.slice(:from, :to).transform_values(&:to_s)) + details + .merge(details.slice(:from, :to).transform_values(&:to_s)) + .merge(author_email: author.try(:email)) end def author |