discourse/app/serializers/admin_detailed_user_serializer.rb

73 lines
1.6 KiB
Ruby
Raw Normal View History

2013-02-06 03:16:51 +08:00
class AdminDetailedUserSerializer < AdminUserSerializer
attributes :moderator,
2013-02-07 23:45:24 +08:00
:can_grant_admin,
2013-02-06 03:16:51 +08:00
:can_revoke_admin,
:can_grant_moderation,
:can_revoke_moderation,
:can_impersonate,
2013-02-06 03:16:51 +08:00
:like_count,
:post_count,
:topic_count,
2013-02-06 03:16:51 +08:00
:flags_given_count,
:flags_received_count,
:private_topics_count,
:can_delete_all_posts,
:can_be_deleted,
:suspend_reason
2013-02-06 03:16:51 +08:00
has_one :approved_by, serializer: BasicUserSerializer, embed: :objects
2013-10-23 03:53:08 +08:00
has_one :api_key, serializer: ApiKeySerializer, embed: :objects
has_one :suspended_by, serializer: BasicUserSerializer, embed: :objects
has_one :leader_requirements, serializer: LeaderRequirementsSerializer, embed: :objects
2013-02-06 03:16:51 +08:00
def can_revoke_admin
scope.can_revoke_admin?(object)
end
def can_grant_admin
scope.can_grant_admin?(object)
end
2013-02-07 23:45:24 +08:00
def can_revoke_moderation
scope.can_revoke_moderation?(object)
end
def can_grant_moderation
scope.can_grant_moderation?(object)
end
def can_delete_all_posts
scope.can_delete_all_posts?(object)
end
2013-02-06 03:16:51 +08:00
def can_be_deleted
scope.can_delete_user?(object)
end
2013-02-06 03:16:51 +08:00
def moderator
object.moderator
2013-02-06 03:16:51 +08:00
end
def topic_count
object.topics.count
end
2013-10-23 03:53:08 +08:00
def include_api_key?
api_key.present?
end
def suspended_by
object.suspend_record.try(:acting_user)
end
def leader_requirements
object.leader_requirements
end
def include_leader_requirements?
object.has_trust_level?(:regular)
end
2013-02-06 03:16:51 +08:00
end