zammad/app/controllers/knowledge_base/public/feeds_controller.rb
2026-01-02 15:41:09 +02:00

53 lines
1.4 KiB
Ruby

# Copyright (C) 2012-2026 Zammad Foundation, https://zammad-foundation.org/
class KnowledgeBase::Public::FeedsController < KnowledgeBase::Public::BaseController
before_action :ensure_response_format
helper_method :build_original_url, :publishing_date, :updating_date
def root
@answers = @knowledge_base
.answers
.localed(system_locale_via_uri)
.sorted_by_published
.limit(10)
@root_url = custom_path_if_needed(help_root_url, @knowledge_base, full: true)
render template: 'knowledge_base/feeds/feed'
end
def category
@category = find_category(params[:category])
@answers = @category
.self_with_children_answers
.localed(system_locale_via_uri)
.sorted_by_published
.limit(10)
@root_url = custom_path_if_needed(help_category_url, @knowledge_base, full: true)
render template: 'knowledge_base/feeds/feed'
end
private
def ensure_response_format
request.format = :atom
end
def build_original_url(answer)
translation = answer.translations.first
url = help_answer_url(answer.category, translation, locale: translation.kb_locale.system_locale.locale)
custom_path_if_needed url, @knowledge_base, full: true
end
def publishing_date(answer)
answer.published_at
end
def updating_date(answer)
[answer.published_at, answer.updated_at].compact.max
end
end