mirror of
https://github.com/discourse/discourse.git
synced 2024-11-26 11:23:36 +08:00
Preload custom user fields when viewing flag queue
This commit is contained in:
parent
fc973f9363
commit
5bd1c5cc95
|
@ -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
|
||||
|
|
|
@ -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
|
||||
]
|
||||
|
|
Loading…
Reference in New Issue
Block a user