BUGFIX: phantom new and unread for category definition topics

This commit is contained in:
Sam 2014-02-11 10:06:20 +11:00
parent ca17f8a437
commit 820fe572ca
2 changed files with 7 additions and 2 deletions

View File

@ -40,6 +40,11 @@ class ListController < ApplicationController
list_opts = build_topic_list_options list_opts = build_topic_list_options
list_opts.merge!(options) if options list_opts.merge!(options) if options
user = list_target_user user = list_target_user
if filter == :latest && params[:category].blank?
list_opts[:no_definitions] = true
end
list = TopicQuery.new(user, list_opts).public_send("list_#{filter}") list = TopicQuery.new(user, list_opts).public_send("list_#{filter}")
list.more_topics_url = construct_url_with(list_opts) list.more_topics_url = construct_url_with(list_opts)
if Discourse.anonymous_filters.include?(filter) if Discourse.anonymous_filters.include?(filter)

View File

@ -240,8 +240,8 @@ class TopicQuery
result = result.listable_topics.includes(category: :topic_only_relative_url) result = result.listable_topics.includes(category: :topic_only_relative_url)
result = result.where('categories.name is null or categories.name <> ?', options[:exclude_category]).references(:categories) if options[:exclude_category] result = result.where('categories.name is null or categories.name <> ?', options[:exclude_category]).references(:categories) if options[:exclude_category]
# Don't include the category topic unless restricted to that category # Don't include the category topics if excluded
if options[:category].blank? || options[:no_definitions] if options[:no_definitions]
result = result.where('COALESCE(categories.topic_id, 0) <> topics.id') result = result.where('COALESCE(categories.topic_id, 0) <> topics.id')
end end