2013-02-05 14:16:51 -05:00
|
|
|
class SiteSerializer < ApplicationSerializer
|
|
|
|
|
2013-02-25 11:42:20 -05:00
|
|
|
attributes :default_archetype,
|
2013-02-20 13:15:50 -05:00
|
|
|
:notification_types,
|
2013-05-27 14:15:20 -04:00
|
|
|
:post_types,
|
2013-10-23 19:05:51 -04:00
|
|
|
:group_names,
|
2014-01-14 12:48:57 -05:00
|
|
|
:filters,
|
|
|
|
:periods,
|
|
|
|
:top_menu_items,
|
|
|
|
:anonymous_top_menu_items,
|
2014-02-12 23:37:28 -05:00
|
|
|
:uncategorized_category_id, # this is hidden so putting it here
|
2014-02-17 08:28:12 -05:00
|
|
|
:is_readonly,
|
|
|
|
:has_enough_topic_to_redirect_to_top_page
|
2013-02-20 13:15:50 -05:00
|
|
|
|
2013-05-13 04:04:03 -04:00
|
|
|
has_many :categories, serializer: BasicCategorySerializer, embed: :objects
|
2013-02-05 14:16:51 -05:00
|
|
|
has_many :post_action_types, embed: :objects
|
2014-02-05 17:54:16 -05:00
|
|
|
has_many :topic_flag_types, serializer: TopicFlagTypeSerializer, embed: :objects
|
2013-02-05 14:16:51 -05:00
|
|
|
has_many :trust_levels, embed: :objects
|
|
|
|
has_many :archetypes, embed: :objects, serializer: ArchetypeSerializer
|
|
|
|
|
2013-02-20 13:15:50 -05:00
|
|
|
|
2013-02-05 14:16:51 -05:00
|
|
|
def default_archetype
|
|
|
|
Archetype.default
|
|
|
|
end
|
|
|
|
|
2013-02-20 13:15:50 -05:00
|
|
|
def post_types
|
2013-03-18 16:03:46 -04:00
|
|
|
Post.types
|
2013-02-20 13:15:50 -05:00
|
|
|
end
|
2013-02-25 11:42:20 -05:00
|
|
|
|
2014-01-14 12:48:57 -05:00
|
|
|
def filters
|
|
|
|
Discourse.filters.map(&:to_s)
|
|
|
|
end
|
|
|
|
|
|
|
|
def periods
|
|
|
|
TopTopic.periods.map(&:to_s)
|
|
|
|
end
|
2014-02-05 17:54:16 -05:00
|
|
|
|
2014-01-14 12:48:57 -05:00
|
|
|
def top_menu_items
|
|
|
|
Discourse.top_menu_items.map(&:to_s)
|
|
|
|
end
|
|
|
|
|
|
|
|
def anonymous_top_menu_items
|
|
|
|
Discourse.anonymous_top_menu_items.map(&:to_s)
|
|
|
|
end
|
|
|
|
|
2013-10-23 19:05:51 -04:00
|
|
|
def uncategorized_category_id
|
|
|
|
SiteSetting.uncategorized_category_id
|
2013-05-27 14:15:20 -04:00
|
|
|
end
|
|
|
|
|
2014-02-12 23:37:28 -05:00
|
|
|
def is_readonly
|
|
|
|
Discourse.readonly_mode?
|
|
|
|
end
|
|
|
|
|
2014-02-17 08:28:12 -05:00
|
|
|
def has_enough_topic_to_redirect_to_top_page
|
|
|
|
Topic.listable_topics
|
|
|
|
.visible
|
|
|
|
.includes(:category).references(:category)
|
|
|
|
.where('COALESCE(categories.topic_id, 0) <> topics.id')
|
|
|
|
.count > SiteSetting.topics_per_period_in_top_page
|
|
|
|
end
|
|
|
|
|
2013-02-05 14:16:51 -05:00
|
|
|
end
|