From 3b6ba58b112e6d4026f17a43d8dd17a469d48ec8 2014-12-05 15:02:29 From: Jean-Philippe Lang Date: 2014-12-05 15:02:29 Subject: [PATCH] Skip uniqueness validation when updating a setting without changing its name. git-svn-id: http://svn.redmine.org/redmine/trunk@13720 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/models/setting.rb b/app/models/setting.rb index bc02d29..a16eede 100644 --- a/app/models/setting.rb +++ b/app/models/setting.rb @@ -77,7 +77,7 @@ class Setting < ActiveRecord::Base cattr_accessor :available_settings self.available_settings ||= {} - validates_uniqueness_of :name + validates_uniqueness_of :name, :if => Proc.new {|setting| setting.new_record? || setting.name_changed?} validates_inclusion_of :name, :in => Proc.new {available_settings.keys} validates_numericality_of :value, :only_integer => true, :if => Proc.new { |setting| (s = available_settings[setting.name]) && s['format'] == 'int'