mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
DEV: Log site setting changes from the rails console
When using the rails console to change site settings log them to the staff actions logs so that there is a record.
This commit is contained in:
@@ -449,9 +449,13 @@ module SiteSettingExtension
|
||||
clear_uploads_cache(name)
|
||||
notify_clients!(name) if client_settings.include? name
|
||||
clear_cache!
|
||||
if old_val != current[name]
|
||||
DiscourseEvent.trigger(:site_setting_changed, name, old_val, current[name])
|
||||
|
||||
if defined?(Rails::Console)
|
||||
details = "Updated via Rails console"
|
||||
log(name, val, old_val, Discourse.system_user, details)
|
||||
end
|
||||
|
||||
DiscourseEvent.trigger(:site_setting_changed, name, old_val, current[name])
|
||||
end
|
||||
|
||||
def notify_changed!
|
||||
@@ -511,13 +515,8 @@ module SiteSettingExtension
|
||||
if has_setting?(name)
|
||||
prev_value = public_send(name)
|
||||
set(name, value)
|
||||
value = prev_value = "[FILTERED]" if secret_settings.include?(name.to_sym)
|
||||
StaffActionLogger.new(user).log_site_setting_change(
|
||||
name,
|
||||
prev_value,
|
||||
value,
|
||||
{ details: detailed_message }.compact_blank,
|
||||
)
|
||||
# Logging via the rails console is already handled in add_override!
|
||||
log(name, value, prev_value, user, detailed_message) unless defined?(Rails::Console)
|
||||
else
|
||||
raise Discourse::InvalidParameters.new(
|
||||
I18n.t("errors.site_settings.invalid_site_setting", name: name),
|
||||
@@ -769,6 +768,17 @@ module SiteSettingExtension
|
||||
end
|
||||
end
|
||||
|
||||
def log(name, value, prev_value, user = Discourse.system_user, detailed_message = nil)
|
||||
value = prev_value = "[FILTERED]" if secret_settings.include?(name.to_sym)
|
||||
return if hidden_settings.include?(name.to_sym)
|
||||
StaffActionLogger.new(user).log_site_setting_change(
|
||||
name,
|
||||
prev_value,
|
||||
value,
|
||||
{ details: detailed_message }.compact_blank,
|
||||
)
|
||||
end
|
||||
|
||||
def default_uploads
|
||||
@default_uploads ||= {}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user