mirror of
https://github.com/discourse/discourse.git
synced 2025-05-21 18:12:32 +08:00
FEATURE: Allow categories to be prioritized/deprioritized in search. (#7209)
This commit is contained in:
25
lib/validators/category_search_priority_weights_validator.rb
Normal file
25
lib/validators/category_search_priority_weights_validator.rb
Normal file
@ -0,0 +1,25 @@
|
||||
class CategorySearchPriorityWeightsValidator
|
||||
def initialize(opts = {})
|
||||
@name = opts[:name].to_s
|
||||
end
|
||||
|
||||
def valid_value?(val)
|
||||
val = val.to_f
|
||||
|
||||
case @name
|
||||
when "category_search_priority_very_low_weight"
|
||||
val < SiteSetting.category_search_priority_low_weight
|
||||
when "category_search_priority_low_weight"
|
||||
val < 1 && val > SiteSetting.category_search_priority_very_low_weight
|
||||
when "category_search_priority_high_weight"
|
||||
val > 1 && val < SiteSetting.category_search_priority_very_high_weight
|
||||
when "category_search_priority_very_high_weight"
|
||||
val > SiteSetting.category_search_priority_high_weight
|
||||
end
|
||||
end
|
||||
|
||||
def error_message
|
||||
key = @name[/category_search_priority_(\w+)_weight/, 1]
|
||||
I18n.t("site_settings.errors.category_search_priority.#{key}_weight_invalid")
|
||||
end
|
||||
end
|
Reference in New Issue
Block a user