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
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