mirror of
https://github.com/discourse/discourse.git
synced 2024-11-23 21:10:17 +08:00
5ccbc5f3ee
FEATURE: add after-reviewable-post-user plugin outlet Add a plugin outlet after reviewable post user Add a basic user serializer that includes custom fields. Allows review queue serializer to include custom fields for its users
28 lines
617 B
Ruby
28 lines
617 B
Ruby
# frozen_string_literal: true
|
|
|
|
# A basic user serializer, with custom fields
|
|
class UserWithCustomFieldsSerializer < BasicUserSerializer
|
|
attributes :custom_fields
|
|
|
|
def custom_fields
|
|
fields = custom_field_keys
|
|
|
|
if fields.present?
|
|
if object.custom_fields_preloaded?
|
|
{}.tap { |h| fields.each { |f| h[f] = object.custom_fields[f] } }
|
|
else
|
|
User.custom_fields_for_ids([object.id], fields)[object.id] || {}
|
|
end
|
|
else
|
|
{}
|
|
end
|
|
end
|
|
|
|
private
|
|
|
|
def custom_field_keys
|
|
# Can be extended by other serializers
|
|
User.whitelisted_user_custom_fields(scope)
|
|
end
|
|
end
|