From fad5d9c49b1ae266f13e1fa2e0061726701439ba Mon Sep 17 00:00:00 2001 From: Robin Ward Date: Thu, 23 May 2019 14:43:31 -0400 Subject: [PATCH] Use an Enum class for the Reviewable Priority Site Setting --- app/models/reviewable_priority_setting.rb | 21 +++++++++++++++++++++ config/site_settings.yml | 5 +---- 2 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 app/models/reviewable_priority_setting.rb diff --git a/app/models/reviewable_priority_setting.rb b/app/models/reviewable_priority_setting.rb new file mode 100644 index 0000000000000..eb89b18a5a444 --- /dev/null +++ b/app/models/reviewable_priority_setting.rb @@ -0,0 +1,21 @@ +# frozen_string_literal: true + +require_dependency 'enum_site_setting' + +class ReviewablePrioritySetting < EnumSiteSetting + + def self.valid_value?(val) + values.any? { |v| v[:value].to_s == val.to_s } + end + + def self.values + Reviewable.priorities.map do |p| + { name: I18n.t("reviewables.priorities.#{p[0]}"), value: p[0] } + end + end + + def self.translate_names? + false + end + +end diff --git a/config/site_settings.yml b/config/site_settings.yml index b82d9fb12c5f6..ac2fcf12b3d09 100644 --- a/config/site_settings.yml +++ b/config/site_settings.yml @@ -1410,10 +1410,7 @@ spam: client: true type: enum default: low - choices: - - low - - medium - - high + enum: "ReviewablePrioritySetting" rate_limits: unique_posts_mins: 5