mirror of
https://github.com/discourse/discourse.git
synced 2024-12-12 21:58:33 +08:00
41ee5b7c86
Refactors `TrustLevel` and moves translations from server to client Additional changes: * "staff" and "admin" wasn't translatable in site settings * it replaces a concatenated string with a translation * uses translation for trust levels in users_by_trust_level report * adds a DB migration to rename keys of translation overrides affected by this commit
31 lines
590 B
Ruby
31 lines
590 B
Ruby
# frozen_string_literal: true
|
|
|
|
class TrustLevelSetting < EnumSiteSetting
|
|
|
|
def self.valid_value?(val)
|
|
val.to_i.to_s == val.to_s &&
|
|
valid_values.any? { |v| v == val.to_i }
|
|
end
|
|
|
|
def self.values
|
|
valid_values.map do |value|
|
|
{ name: translation(value), value: value }
|
|
end
|
|
end
|
|
|
|
def self.valid_values
|
|
TrustLevel.valid_range.to_a
|
|
end
|
|
|
|
def self.translation(value)
|
|
I18n.t(
|
|
"js.trust_levels.detailed_name",
|
|
level: value,
|
|
name: TrustLevel.name(value)
|
|
)
|
|
end
|
|
|
|
private_class_method :valid_values
|
|
private_class_method :translation
|
|
end
|