Mercurial > hg > soundsoftware-site
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 |