FIX: Use `saved_change_to_value?` in site_setting_saved event

Since Rails 5.2, the behavior of `attribute_changed?` inside `after_save` callbacks has changed, so we need to use `saved_change_to_attribute` instead. The site setting local_process_provider in test mode was covering up the issue.
This commit is contained in:
David Taylor 2019-04-17 12:00:21 +01:00 committed by Robin Ward
parent a58091e352
commit c687e2b921
2 changed files with 2 additions and 2 deletions

View File

@ -2,7 +2,7 @@
# existing users are approved.
DiscourseEvent.on(:site_setting_saved) do |site_setting|
name = site_setting.name.to_sym
next unless site_setting.value_changed?
next unless site_setting.saved_change_to_value?
if name == :must_approve_users && site_setting.value == 't'
User.where(approved: false).update_all(approved: true)

View File

@ -8,7 +8,7 @@ class SiteSettings::LocalProcessProvider
attr_accessor :name, :data_type, :value
def value_changed?
true
false
end
def saved_change_to_value?