mirror of
https://github.com/discourse/discourse.git
synced 2024-12-01 04:13:44 +08:00
036a24cf30
A small fix for Basic User Serializers where some downstream serializers do not correctly set user objects. This caused some issues in certain plugins that depend on the user method to return a user.
26 lines
498 B
Ruby
26 lines
498 B
Ruby
# frozen_string_literal: true
|
|
|
|
class BasicUserSerializer < ApplicationSerializer
|
|
attributes :id, :username, :name, :avatar_template
|
|
|
|
def name
|
|
Hash === user ? user[:name] : user.try(:name)
|
|
end
|
|
|
|
def include_name?
|
|
SiteSetting.enable_names?
|
|
end
|
|
|
|
def avatar_template
|
|
if Hash === object
|
|
User.avatar_template(user[:username], user[:uploaded_avatar_id])
|
|
else
|
|
user&.avatar_template
|
|
end
|
|
end
|
|
|
|
def user
|
|
object[:user] || object.try(:user) || object
|
|
end
|
|
end
|