2013-05-09 03:37:34 -04:00
|
|
|
class BasicGroupSerializer < ApplicationSerializer
|
2015-01-23 12:25:43 -05:00
|
|
|
attributes :id,
|
|
|
|
:automatic,
|
|
|
|
:name,
|
|
|
|
:user_count,
|
|
|
|
:alias_level,
|
|
|
|
:visible,
|
|
|
|
:automatic_membership_email_domains,
|
2015-04-09 22:17:28 -04:00
|
|
|
:automatic_membership_retroactive,
|
|
|
|
:primary_group,
|
2015-09-01 16:52:05 -04:00
|
|
|
:title,
|
2015-12-07 06:39:28 -05:00
|
|
|
:grant_trust_level,
|
2015-12-14 17:17:09 -05:00
|
|
|
:incoming_email,
|
2015-12-17 02:06:04 -05:00
|
|
|
:notification_level,
|
2016-03-02 13:18:17 -05:00
|
|
|
:has_messages,
|
2016-07-08 15:20:04 -04:00
|
|
|
:is_member,
|
2016-08-16 12:34:04 -04:00
|
|
|
:mentionable,
|
|
|
|
:flair_url,
|
2016-08-26 17:15:37 -04:00
|
|
|
:flair_bg_color,
|
|
|
|
:flair_color
|
2015-12-07 06:39:28 -05:00
|
|
|
|
|
|
|
def include_incoming_email?
|
|
|
|
scope.is_staff?
|
|
|
|
end
|
2015-12-14 17:17:09 -05:00
|
|
|
|
|
|
|
def notification_level
|
|
|
|
# TODO: fix this N+1
|
|
|
|
GroupUser.where(group_id: object.id, user_id: scope.user.id).first.try(:notification_level)
|
|
|
|
end
|
|
|
|
|
|
|
|
def include_notification_level?
|
|
|
|
scope.authenticated?
|
|
|
|
end
|
|
|
|
|
2016-03-02 13:18:17 -05:00
|
|
|
def mentionable
|
|
|
|
object.mentionable?(scope.user, object.id)
|
|
|
|
end
|
|
|
|
|
2016-07-08 15:20:04 -04:00
|
|
|
def is_member
|
|
|
|
scope.is_admin? || GroupUser.where(group_id: object.id, user_id: scope.user.id).present?
|
|
|
|
end
|
|
|
|
|
|
|
|
def include_is_member?
|
|
|
|
scope.authenticated?
|
|
|
|
end
|
|
|
|
|
2013-05-08 01:20:38 -04:00
|
|
|
end
|