FIX: Make sure to observe shadowed settings when refreshing

This commit is contained in:
Robin Ward 2015-02-09 17:28:55 -05:00
parent 5d6f6c4887
commit 0da022a1ba

View file

@ -196,18 +196,20 @@ module SiteSettingExtension
# add defaults, cause they are cached # add defaults, cause they are cached
new_hash = defaults.merge(new_hash) new_hash = defaults.merge(new_hash)
changes,deletions = diff_hash(new_hash, old) # add shadowed
shadowed_settings.each do |ss|
if deletions.length > 0 || changes.length > 0 new_hash[ss] = GlobalSetting.send(ss)
changes.each do |name, val|
next if shadowed_settings.include?(name)
current[name] = val
end
deletions.each do |name,val|
next if shadowed_settings.include?(name)
current[name] = defaults[name]
end
end end
changes, deletions = diff_hash(new_hash, old)
changes.each do |name, val|
current[name] = val
end
deletions.each do |name, val|
current[name] = defaults[name]
end
clear_cache! clear_cache!
end end
end end