discourse/app/serializers/concerns/user_primary_group_mixin.rb
Bianca Nenciu 87c1e98571
FEATURE: Let users select flair (#13587)
User flair was given by user's primary group. This PR separates the
two, adds a new field to the user model for flair group ID and users
can select their flair from user preferences now.
2021-07-08 10:46:21 +03:00

72 lines
1.2 KiB
Ruby

# frozen_string_literal: true
module UserPrimaryGroupMixin
def self.included(klass)
klass.attributes :primary_group_name,
:flair_name,
:flair_url,
:flair_bg_color,
:flair_color,
:admin,
:moderator,
:trust_level
end
def primary_group_name
object&.primary_group&.name
end
def include_primary_group_name?
object&.primary_group.present?
end
def flair_name
object&.flair_group&.name
end
def include_flair_group_name?
object&.flair_group.present?
end
def flair_url
object&.flair_group&.flair_url
end
def include_flair_url?
object&.flair_group&.flair_url.present?
end
def flair_bg_color
object&.flair_group&.flair_bg_color
end
def include_flair_bg_color?
object&.flair_group&.flair_bg_color.present?
end
def flair_color
object&.flair_group&.flair_color
end
def include_flair_color?
object&.flair_group&.flair_color.present?
end
def include_admin?
object&.admin
end
def admin
true
end
def include_moderator?
object&.moderator
end
def moderator
true
end
end