discourse/app/serializers/basic_category_serializer.rb

69 lines
1.7 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
class BasicCategorySerializer < ApplicationSerializer
attributes :id,
:name,
:color,
:text_color,
:slug,
:topic_count,
:post_count,
2015-08-28 01:14:59 +08:00
:position,
:description,
:description_text,
:topic_url,
:read_restricted,
2013-10-24 01:29:20 +08:00
:permission,
2014-04-17 17:17:39 +08:00
:parent_category_id,
:notification_level,
:can_edit,
:topic_template,
:has_children,
:sort_order,
:sort_ascending,
:show_subcategory_list,
:num_featured_topics,
:default_view,
:subcategory_list_style,
2018-03-29 02:40:26 +08:00
:default_top_period,
:minimum_required_tags,
:navigate_to_first_post_after_read,
:custom_fields
has_one :uploaded_logo, embed: :object, serializer: CategoryUploadSerializer
has_one :uploaded_background, embed: :object, serializer: CategoryUploadSerializer
2013-10-24 02:40:39 +08:00
def include_parent_category_id?
parent_category_id
end
def name
object.uncategorized? ? I18n.t('uncategorized_category_name', locale: SiteSetting.default_locale) : object.name
end
def description
object.uncategorized? ? I18n.t('category.uncategorized_description', locale: SiteSetting.default_locale) : object.description
end
def can_edit
true
end
2014-09-09 21:32:58 +08:00
def include_can_edit?
scope && scope.can_edit?(object)
end
def notification_level
2016-02-03 20:58:59 +08:00
object.notification_level
end
def custom_fields
object.preloaded_custom_fields
end
def include_custom_fields?
custom_fields.present?
end
end