comparison 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
comparison
equal deleted inserted replaced
1516:b450a9d58aed 1517:dffacf8a6908
81 @@available_settings["plugin_#{plugin.id}"] = {'default' => plugin.settings[:default], 'serialized' => true} 81 @@available_settings["plugin_#{plugin.id}"] = {'default' => plugin.settings[:default], 'serialized' => true}
82 end 82 end
83 83
84 validates_uniqueness_of :name 84 validates_uniqueness_of :name
85 validates_inclusion_of :name, :in => @@available_settings.keys 85 validates_inclusion_of :name, :in => @@available_settings.keys
86 validates_numericality_of :value, :only_integer => true, :if => Proc.new { |setting| @@available_settings[setting.name]['format'] == 'int' } 86 validates_numericality_of :value, :only_integer => true, :if => Proc.new { |setting|
87 (s = @@available_settings[setting.name]) && s['format'] == 'int'
88 }
87 89
88 # Hash used to cache setting values 90 # Hash used to cache setting values
89 @cached_settings = {} 91 @cached_settings = {}
90 @cached_cleared_on = Time.now 92 @cached_cleared_on = Time.now
91 93
238 # Returns the Setting instance for the setting named name 240 # Returns the Setting instance for the setting named name
239 # (record found in database or new record with default value) 241 # (record found in database or new record with default value)
240 def self.find_or_default(name) 242 def self.find_or_default(name)
241 name = name.to_s 243 name = name.to_s
242 raise "There's no setting named #{name}" unless @@available_settings.has_key?(name) 244 raise "There's no setting named #{name}" unless @@available_settings.has_key?(name)
243 setting = find_by_name(name) 245 setting = where(:name => name).first
244 unless setting 246 unless setting
245 setting = new(:name => name) 247 setting = new
248 setting.name = name
246 setting.value = @@available_settings[name]['default'] 249 setting.value = @@available_settings[name]['default']
247 end 250 end
248 setting 251 setting
249 end 252 end
250 end 253 end