git-svn-id: http://redmine.rubyforge.org/svn/trunk@593 e93f8b46-1217-0410-a6f0-8f06a7374b81tags/0.6.0
@@ -22,7 +22,9 @@ class Attachment < ActiveRecord::Base | |||
belongs_to :author, :class_name => "User", :foreign_key => "author_id" | |||
validates_presence_of :container, :filename | |||
validates_length_of :filename, :maximum => 255 | |||
validates_length_of :disk_filename, :maximum => 255 | |||
cattr_accessor :storage_path | |||
@@storage_path = "#{RAILS_ROOT}/files" | |||
@@ -29,6 +29,7 @@ class CustomField < ActiveRecord::Base | |||
validates_presence_of :name, :field_format | |||
validates_uniqueness_of :name | |||
validates_length_of :name, :maximum => 30 | |||
validates_format_of :name, :with => /^[\w\s\'\-]*$/i | |||
validates_inclusion_of :field_format, :in => FIELD_FORMATS.keys | |||
@@ -21,4 +21,5 @@ class Document < ActiveRecord::Base | |||
has_many :attachments, :as => :container, :dependent => :destroy | |||
validates_presence_of :project, :title, :category | |||
validates_length_of :title, :maximum => 60 | |||
end |
@@ -20,6 +20,7 @@ class Enumeration < ActiveRecord::Base | |||
validates_presence_of :opt, :name | |||
validates_uniqueness_of :name, :scope => [:opt] | |||
validates_length_of :name, :maximum => 30 | |||
validates_format_of :name, :with => /^[\w\s\'\-]*$/i | |||
OPTIONS = { |
@@ -38,6 +38,7 @@ class Issue < ActiveRecord::Base | |||
acts_as_watchable | |||
validates_presence_of :subject, :description, :priority, :tracker, :author, :status | |||
validates_length_of :subject, :maximum => 255 | |||
validates_inclusion_of :done_ratio, :in => 0..100 | |||
validates_associated :custom_values, :on => :update | |||
@@ -22,6 +22,7 @@ class IssueStatus < ActiveRecord::Base | |||
validates_presence_of :name | |||
validates_uniqueness_of :name | |||
validates_length_of :name, :maximum => 30 | |||
validates_format_of :name, :with => /^[\w\s\'\-]*$/i | |||
validates_length_of :html_color, :is => 6 | |||
validates_format_of :html_color, :with => /^[a-f0-9]*$/i |
@@ -21,6 +21,8 @@ class News < ActiveRecord::Base | |||
has_many :comments, :as => :commented, :dependent => :delete_all, :order => "created_on" | |||
validates_presence_of :title, :description | |||
validates_length_of :title, :maximum => 60 | |||
validates_length_of :summary, :maximum => 255 | |||
# returns latest news for projects visible by user | |||
def self.latest(user=nil, count=5) |
@@ -24,6 +24,7 @@ class Query < ActiveRecord::Base | |||
attr_accessor :executed_by | |||
validates_presence_of :name, :on => :save | |||
validates_length_of :name, :maximum => 255 | |||
@@operators = { "=" => :label_equals, | |||
"!" => :label_not_equals, |
@@ -24,6 +24,7 @@ class Role < ActiveRecord::Base | |||
validates_presence_of :name | |||
validates_uniqueness_of :name | |||
validates_length_of :name, :maximum => 30 | |||
validates_format_of :name, :with => /^[\w\s\'\-]*$/i | |||
def <=>(role) |
@@ -24,6 +24,7 @@ class Tracker < ActiveRecord::Base | |||
validates_presence_of :name | |||
validates_uniqueness_of :name | |||
validates_length_of :name, :maximum => 30 | |||
validates_format_of :name, :with => /^[\w\s\'\-]*$/i | |||
private |
@@ -23,6 +23,7 @@ class Version < ActiveRecord::Base | |||
validates_presence_of :name | |||
validates_uniqueness_of :name, :scope => [:project_id] | |||
validates_length_of :name, :maximum => 30 | |||
validates_format_of :effective_date, :with => /^\d{4}-\d{2}-\d{2}$/, :message => :activerecord_error_not_a_date, :allow_nil => true | |||
def start_date |