From ae728702a6ecabdc8dc1f331f2ebfe70876e75c9 Mon Sep 17 00:00:00 2001 From: Robin Ward Date: Wed, 13 Jun 2018 11:44:13 -0400 Subject: [PATCH] Revert "Revert "Preload custom user fields when viewing flag queue"" This reverts commit 1bb12ee1b6f0c5428a046bb01a2c12f969cc6480. --- app/serializers/flagged_user_serializer.rb | 18 +++++++++++++++++- lib/flag_query.rb | 5 ++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/app/serializers/flagged_user_serializer.rb b/app/serializers/flagged_user_serializer.rb index c9ec0aa6e8e..3af12c772fa 100644 --- a/app/serializers/flagged_user_serializer.rb +++ b/app/serializers/flagged_user_serializer.rb @@ -3,7 +3,8 @@ class FlaggedUserSerializer < BasicUserSerializer :can_be_deleted, :post_count, :topic_count, - :ip_address + :ip_address, + :custom_fields def can_delete_all_posts scope.can_delete_all_posts?(object) @@ -17,4 +18,19 @@ class FlaggedUserSerializer < BasicUserSerializer object.ip_address.try(:to_s) end + def custom_fields + fields = User.whitelisted_user_custom_fields(scope) + + if scope.can_edit?(object) + fields += DiscoursePluginRegistry.serialized_current_user_fields.to_a + end + + result = {} + fields.each do |k| + result[k] = object.custom_fields[k] if object.custom_fields[k].present? + end + + result + end + end diff --git a/lib/flag_query.rb b/lib/flag_query.rb index 1d833200d83..e963269a4f3 100644 --- a/lib/flag_query.rb +++ b/lib/flag_query.rb @@ -129,10 +129,13 @@ module FlagQuery # TODO: add serializer so we can skip this posts.map!(&:marshal_dump) + users = User.includes(:user_stat).where(id: user_ids.to_a).to_a + User.preload_custom_fields(users, User.whitelisted_user_custom_fields(guardian)) + [ posts, Topic.with_deleted.where(id: topic_ids.to_a).to_a, - User.includes(:user_stat).where(id: user_ids.to_a).to_a, + users, all_post_actions, total_rows ]