summaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2014-12-06 11:23:05 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2014-12-06 11:23:05 +0000
commite09f48e45994ef342f53f965c829d591be711bcf (patch)
treec560c45ddfab168674b8cc4784a1f080dbc04a8a /app
parent9c173375c631508aabcf1e65db28605410cbb9e2 (diff)
downloadredmine-e09f48e45994ef342f53f965c829d591be711bcf.tar.gz
redmine-e09f48e45994ef342f53f965c829d591be711bcf.zip
Skip some validations if attribute did not change.
git-svn-id: http://svn.redmine.org/redmine/trunk@13723 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app')
-rw-r--r--app/models/issue.rb5
-rw-r--r--app/models/project.rb3
2 files changed, 5 insertions, 3 deletions
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