# frozen_string_literal: true class TrustLevelAndStaffAndDisabledSetting < TrustLevelAndStaffSetting def self.valid_value?(val) valid_values.include?(val) || (val.to_i.to_s == val.to_s && valid_values.include?(val.to_i)) end def self.valid_values ['disabled'] + TrustLevel.valid_range.to_a + special_groups end def self.translation(value) if value == 'disabled' I18n.t('site_settings.disabled') else super end end def self.matches?(value, user) case value when 'disabled' false when 'staff' user.staff? when 'admin' user.admin? else user.has_trust_level?(value.to_i) || user.staff? end end end