Allow filtering by solved or unsolved
This commit is contained in:
parent
73e4909615
commit
2e4a7bc482
21
plugin.rb
21
plugin.rb
|
@ -337,6 +337,27 @@ SQL
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
require_dependency 'topic_query'
|
||||||
|
|
||||||
|
TopicQuery.add_custom_filter(:solved) do |results, topic_query|
|
||||||
|
if topic_query.options[:solved] == 'true'
|
||||||
|
results = results.where("topics.id IN (
|
||||||
|
SELECT tc.topic_id
|
||||||
|
FROM topic_custom_fields tc
|
||||||
|
WHERE tc.name = 'accepted_answer_post_id' AND
|
||||||
|
tc.value IS NOT NULL
|
||||||
|
)")
|
||||||
|
elsif topic_query.options[:solved] == 'false'
|
||||||
|
results = results.where("topics.id NOT IN (
|
||||||
|
SELECT tc.topic_id
|
||||||
|
FROM topic_custom_fields tc
|
||||||
|
WHERE tc.name = 'accepted_answer_post_id' AND
|
||||||
|
tc.value IS NOT NULL
|
||||||
|
)")
|
||||||
|
end
|
||||||
|
results
|
||||||
|
end
|
||||||
|
|
||||||
require_dependency 'topic_list_item_serializer'
|
require_dependency 'topic_list_item_serializer'
|
||||||
|
|
||||||
class ::TopicListItemSerializer
|
class ::TopicListItemSerializer
|
||||||
|
|
Loading…
Reference in New Issue