From e09f48e45994ef342f53f965c829d591be711bcf Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Sat, 6 Dec 2014 11:23:05 +0000 Subject: Skip some validations if attribute did not change. git-svn-id: http://svn.redmine.org/redmine/trunk@13723 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- app/models/issue.rb | 5 ++++- app/models/project.rb | 3 +-- 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'app') diff --git a/app/models/issue.rb b/app/models/issue.rb index 4dcc69a47..a23d4bd9f 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -66,7 +66,10 @@ class Issue < ActiveRecord::Base attr_reader :current_journal delegate :notes, :notes=, :private_notes, :private_notes=, :to => :current_journal, :allow_nil => true - validates_presence_of :subject, :priority, :project, :tracker, :author, :status + validates_presence_of :subject, :project, :tracker + validates_presence_of :priority, :if => Proc.new {|issue| issue.new_record? || issue.priority_id_changed?} + validates_presence_of :status, :if => Proc.new {|issue| issue.new_record? || issue.status_id_changed?} + validates_presence_of :author, :if => Proc.new {|issue| issue.new_record? || issue.author_id_changed?} validates_length_of :subject, :maximum => 255 validates_inclusion_of :done_ratio, :in => 0..100 diff --git a/app/models/project.rb b/app/models/project.rb index 961fb5bfc..f7cfc65e0 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -72,8 +72,7 @@ class Project < ActiveRecord::Base attr_protected :status validates_presence_of :name, :identifier - validates_uniqueness_of :identifier - validates_associated :repository, :wiki + validates_uniqueness_of :identifier, :if => Proc.new {|p| p.identifier_changed?} validates_length_of :name, :maximum => 255 validates_length_of :homepage, :maximum => 255 validates_length_of :identifier, :in => 1..IDENTIFIER_MAX_LENGTH -- cgit v1.2.3