2019-05-02 17:17:27 -05:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2013-06-28 12:55:34 -05:00
|
|
|
# The most basic attributes of a topic that we need to create a link for it.
|
|
|
|
class BasicPostSerializer < ApplicationSerializer
|
|
|
|
attributes :id,
|
|
|
|
:name,
|
|
|
|
:username,
|
|
|
|
:avatar_template,
|
|
|
|
:created_at,
|
2014-06-20 16:06:44 -05:00
|
|
|
:cooked,
|
2019-04-05 09:13:36 -05:00
|
|
|
:cooked_hidden
|
2013-06-28 12:55:34 -05:00
|
|
|
|
|
|
|
def name
|
2015-10-02 00:00:00 -05:00
|
|
|
object.user && object.user.name
|
2013-06-28 12:55:34 -05:00
|
|
|
end
|
|
|
|
|
|
|
|
def username
|
2015-10-02 00:00:00 -05:00
|
|
|
object.user && object.user.username
|
2013-06-28 12:55:34 -05:00
|
|
|
end
|
|
|
|
|
|
|
|
def avatar_template
|
2015-10-02 00:00:00 -05:00
|
|
|
object.user && object.user.avatar_template
|
2013-06-28 12:55:34 -05:00
|
|
|
end
|
|
|
|
|
2014-06-20 16:06:44 -05:00
|
|
|
def cooked_hidden
|
|
|
|
object.hidden && !scope.is_staff?
|
|
|
|
end
|
2015-09-10 19:12:40 -05:00
|
|
|
|
2014-06-20 16:06:44 -05:00
|
|
|
def include_cooked_hidden?
|
|
|
|
cooked_hidden
|
|
|
|
end
|
|
|
|
|
2013-06-28 12:55:34 -05:00
|
|
|
def cooked
|
2014-06-20 16:06:44 -05:00
|
|
|
if cooked_hidden
|
2013-06-28 12:55:34 -05:00
|
|
|
if scope.current_user && object.user_id == scope.current_user.id
|
2017-10-29 23:47:34 -05:00
|
|
|
I18n.t('flagging.you_must_edit', path: "/my/messages")
|
2013-06-28 12:55:34 -05:00
|
|
|
else
|
|
|
|
I18n.t('flagging.user_must_edit')
|
|
|
|
end
|
|
|
|
else
|
2019-08-06 05:28:22 -05:00
|
|
|
cooked = object.filter_quotes(@parent_post)
|
|
|
|
|
|
|
|
if scope&.user
|
|
|
|
group = Group
|
|
|
|
.joins('JOIN group_users ON groups.id = group_users.group_id')
|
|
|
|
.find_by(
|
|
|
|
id: object.custom_fields['requested_group_id'].to_i,
|
|
|
|
group_users: { user_id: scope.user.id, owner: true }
|
|
|
|
)
|
|
|
|
|
|
|
|
if group
|
|
|
|
cooked << <<~EOF
|
|
|
|
<hr />
|
|
|
|
<a href="#{Discourse.base_uri}/g/#{group.name}/requests">
|
|
|
|
#{I18n.t('groups.request_membership_pm.handle')}
|
|
|
|
</a>
|
|
|
|
EOF
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
cooked
|
2013-06-28 12:55:34 -05:00
|
|
|
end
|
|
|
|
end
|
|
|
|
|
2013-10-30 14:45:13 -05:00
|
|
|
def include_name?
|
|
|
|
SiteSetting.enable_names?
|
|
|
|
end
|
|
|
|
|
2013-06-28 12:55:34 -05:00
|
|
|
end
|