diff app/models/setting.rb @ 1517:dffacf8a6908 redmine-2.5

Update to Redmine SVN revision 13367 on 2.5-stable branch
author Chris Cannam
date Tue, 09 Sep 2014 09:29:00 +0100
parents e248c7af89ec
children
line wrap: on
line diff
--- a/app/models/setting.rb	Tue Sep 09 09:28:31 2014 +0100
+++ b/app/models/setting.rb	Tue Sep 09 09:29:00 2014 +0100
@@ -83,7 +83,9 @@
 
   validates_uniqueness_of :name
   validates_inclusion_of :name, :in => @@available_settings.keys
-  validates_numericality_of :value, :only_integer => true, :if => Proc.new { |setting| @@available_settings[setting.name]['format'] == 'int' }
+  validates_numericality_of :value, :only_integer => true, :if => Proc.new { |setting|
+    (s = @@available_settings[setting.name]) && s['format'] == 'int'
+  }
 
   # Hash used to cache setting values
   @cached_settings = {}
@@ -240,9 +242,10 @@
   def self.find_or_default(name)
     name = name.to_s
     raise "There's no setting named #{name}" unless @@available_settings.has_key?(name)
-    setting = find_by_name(name)
+    setting = where(:name => name).first
     unless setting
-      setting = new(:name => name)
+      setting = new
+      setting.name = name
       setting.value = @@available_settings[name]['default']
     end
     setting