Check discourse version before adding TopicQuery filters

This commit is contained in:
David Taylor 2017-02-27 19:51:50 +00:00
parent 2e4a7bc482
commit e3cf14016f
1 changed files with 19 additions and 17 deletions

View File

@ -337,25 +337,27 @@ SQL
end
end
require_dependency 'topic_query'
if Discourse.has_needed_version?(Discourse::VERSION::STRING, '1.8.0.beta6')
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
)")
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
results
end
require_dependency 'topic_list_item_serializer'