summaryrefslogtreecommitdiffstats
path: root/app/models/setting.rb
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2016-07-21 18:14:13 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2016-07-21 18:14:13 +0000
commit596a196f2e7e8355f102ad6b6e59e03d77230eff (patch)
tree3a35acd0d33c2ff72f7ed775827c7f7ef9c4f61e /app/models/setting.rb
parentfcd8ace743b83c83eeffb726f26b9153d633226c (diff)
downloadredmine-596a196f2e7e8355f102ad6b6e59e03d77230eff.tar.gz
redmine-596a196f2e7e8355f102ad6b6e59e03d77230eff.zip
Don't error if an invalid setting is given.
git-svn-id: http://svn.redmine.org/redmine/trunk@15730 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/models/setting.rb')
-rw-r--r--app/models/setting.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/app/models/setting.rb b/app/models/setting.rb
index 42b179cfc..934e6bf2a 100644
--- a/app/models/setting.rb
+++ b/app/models/setting.rb
@@ -120,9 +120,11 @@ class Setting < ActiveRecord::Base
# Updates multiple settings from params and sends a security notification if needed
def self.set_all_from_params(settings)
- settings = (settings || {}).dup.symbolize_keys
+ return false unless settings.is_a?(Hash)
+ settings = settings.dup.symbolize_keys
changes = []
settings.each do |name, value|
+ next unless available_settings[name.to_s]
previous_value = Setting[name]
set_from_params name, value
if available_settings[name.to_s]['security_notifications'] && Setting[name] != previous_value