discourse/app/serializers/basic_category_serializer.rb

80 lines
2.1 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-27 12:14:59 -05:00
:position,
:description,
:description_text,
:description_excerpt,
:topic_url,
:read_restricted,
2013-10-23 12:29:20 -05:00
:permission,
2014-04-17 04:17:39 -05: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-28 13:40:26 -05:00
:default_top_period,
:default_list_filter,
:minimum_required_tags,
:navigate_to_first_post_after_read,
:custom_fields
has_one :uploaded_logo, embed: :object, serializer: CategoryUploadSerializer
has_one :uploaded_logo_dark, embed: :object, serializer: CategoryUploadSerializer
has_one :uploaded_background, embed: :object, serializer: CategoryUploadSerializer
2013-10-23 13:40:39 -05: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_text
object.uncategorized? ? I18n.t('category.uncategorized_description', locale: SiteSetting.default_locale) : object.description_text
end
def description
object.uncategorized? ? I18n.t('category.uncategorized_description', locale: SiteSetting.default_locale) : object.description
end
def description_excerpt
object.uncategorized? ? I18n.t('category.uncategorized_description', locale: SiteSetting.default_locale) : object.description_excerpt
end
def can_edit
true
end
2014-09-09 08:32:58 -05:00
def include_can_edit?
scope && scope.can_edit?(object)
end
def notification_level
2016-02-03 06:58:59 -06:00
object.notification_level
end
def custom_fields
object.preloaded_custom_fields
end
def include_custom_fields?
custom_fields.present?
end
end