DEV: Convert min_trust_to_send_email_messages to groups (#24942)

We're changing the implementation of trust levels to use groups. Part of this is to have site settings that reference trust levels use groups instead. It converts the min_trust_to_send_email_messages site setting to send_email_messages_allowed_groups.
This commit is contained in:
Ted Johansson
2024-01-09 09:47:06 +08:00
committed by GitHub
parent 0d38b4d0a9
commit e4494b26fd
6 changed files with 60 additions and 29 deletions

View File

@ -35,6 +35,7 @@ module SiteSettings::DeprecatedSettings
["min_trust_level_to_allow_ignore", "ignore_allowed_groups", false, "3.3"],
["min_trust_to_allow_self_wiki", "self_wiki_allowed_groups", false, "3.3"],
["min_trust_to_create_tag", "create_tag_allowed_groups", false, "3.3"],
["min_trust_to_send_email_messages", "send_email_messages_allowed_groups", false, "3.3"],
]
OVERRIDE_TL_GROUP_SETTINGS = %w[
@ -54,6 +55,7 @@ module SiteSettings::DeprecatedSettings
min_trust_level_to_allow_invite
min_trust_level_to_allow_ignore
min_trust_to_create_tag
min_trust_to_send_email_messages
]
def group_to_tl(old_setting, new_setting)
@ -111,13 +113,7 @@ module SiteSettings::DeprecatedSettings
def setup_deprecated_methods
SETTINGS.each do |old_setting, new_setting, override, version|
if !override
SiteSetting.singleton_class.public_send(
:alias_method,
:"_#{old_setting}",
:"#{old_setting}",
)
end
SiteSetting.singleton_class.alias_method(:"_#{old_setting}", :"#{old_setting}") if !override
if OVERRIDE_TL_GROUP_SETTINGS.include?(old_setting)
define_singleton_method "_group_to_tl_#{old_setting}" do |warn: true|
@ -140,13 +136,7 @@ module SiteSettings::DeprecatedSettings
end
end
if !override
SiteSetting.singleton_class.public_send(
:alias_method,
:"_#{old_setting}?",
:"#{old_setting}?",
)
end
SiteSetting.singleton_class.alias_method(:"_#{old_setting}?", :"#{old_setting}?") if !override
define_singleton_method "#{old_setting}?" do |warn: true|
if warn
@ -159,13 +149,7 @@ module SiteSettings::DeprecatedSettings
self.public_send("#{override ? new_setting : "_" + old_setting}?")
end
if !override
SiteSetting.singleton_class.public_send(
:alias_method,
:"_#{old_setting}=",
:"#{old_setting}=",
)
end
SiteSetting.singleton_class.alias_method(:"_#{old_setting}=", :"#{old_setting}=") if !override
define_singleton_method "#{old_setting}=" do |val, warn: true|
if warn