mirror of
https://github.com/discourse/discourse.git
synced 2024-11-26 07:23:40 +08:00
df26d2e72a
* FIX: 'false' value was treated as a truthy value For example, latest.json?no_subcategories=false used to have set no_subcategories to the string value of 'false', which is not false. * DEV: Remove dead code * FIX: Redirect to /none under the right conditions These conditions are: - neither /all or /none present - only for default filter * FIX: Build correct topic list filter /none was never added to the topic list filter * FIX: Do not show count for subcategories if 'none' category * FIX: preload_key must contain /none if no_subcategories
24 lines
672 B
Ruby
24 lines
672 B
Ruby
# frozen_string_literal: true
|
|
|
|
module TopicQueryParams
|
|
def build_topic_list_options
|
|
options = {}
|
|
params[:tags] = [params[:tag_id]] if params[:tag_id].present? && guardian.can_tag_pms?
|
|
|
|
TopicQuery.public_valid_options.each do |key|
|
|
if params.key?(key)
|
|
val = options[key] = params[key]
|
|
if !TopicQuery.validate?(key, val)
|
|
raise Discourse::InvalidParameters.new key
|
|
end
|
|
end
|
|
end
|
|
|
|
# hacky columns get special handling
|
|
options[:topic_ids] = param_to_integer_list(:topic_ids)
|
|
options[:no_subcategories] = options[:no_subcategories] == 'true' if options[:no_subcategories].present?
|
|
|
|
options
|
|
end
|
|
end
|