FEATURE: Use category_list for selecting categories

This commit is contained in:
Justin DiRose 2019-08-30 15:04:07 -05:00
parent 1999cd0825
commit 7b8d3a84bd
3 changed files with 4 additions and 4 deletions

View File

@ -52,7 +52,7 @@ module KnowledgeExplorer
category_topic_lists = [] category_topic_lists = []
categories.each do |c| categories.each do |c|
if topic_list = TopicQuery.new(current_user, category: c.id).list_latest if topic_list = TopicQuery.new(current_user, category: c.id, no_subcategories: true).list_latest
category_topic_lists << TopicListSerializer.new(topic_list, scope: @guardian).as_json category_topic_lists << TopicListSerializer.new(topic_list, scope: @guardian).as_json
end end
end end
@ -98,7 +98,7 @@ module KnowledgeExplorer
def knowledge_explorer_categories def knowledge_explorer_categories
selected_categories = SiteSetting.knowledge_explorer_categories.split("|") selected_categories = SiteSetting.knowledge_explorer_categories.split("|")
categories = Category.where('slug IN (?)', selected_categories) categories = Category.where('id IN (?)', selected_categories)
categories.select { |c| @guardian.can_see_category?(c) } categories.select { |c| @guardian.can_see_category?(c) }
end end

View File

@ -3,7 +3,7 @@ plugins:
default: false default: false
client: true client: true
knowledge_explorer_categories: knowledge_explorer_categories:
type: list type: category_list
default: "" default: ""
client: true client: true
knowledge_explorer_tags: knowledge_explorer_tags:

View File

@ -16,7 +16,7 @@ after_initialize do
if Search.respond_to? :advanced_filter if Search.respond_to? :advanced_filter
Search.advanced_filter(/in:kb/) do |posts| Search.advanced_filter(/in:kb/) do |posts|
selected_categories = SiteSetting.knowledge_explorer_categories.split("|") selected_categories = SiteSetting.knowledge_explorer_categories.split("|")
categories = Category.where('slug IN (?)', selected_categories).pluck(:id) categories = Category.where('id IN (?)', selected_categories).pluck(:id)
selected_tags = SiteSetting.knowledge_explorer_tags.split("|") selected_tags = SiteSetting.knowledge_explorer_tags.split("|")
tags = Tag.where('name IN (?)', selected_tags).pluck(:id) tags = Tag.where('name IN (?)', selected_tags).pluck(:id)