summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/finders/concerns/finder_with_group_hierarchy.rb6
-rw-r--r--app/models/audit_event.rb4
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