]> source.dussan.org Git - redmine.git/commitdiff
Add length validations for string fields (#24283).
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 19 Nov 2016 11:13:41 +0000 (11:13 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 19 Nov 2016 11:13:41 +0000 (11:13 +0000)
Patch by Felix Schäfer.

git-svn-id: http://svn.redmine.org/redmine/trunk@15989 e93f8b46-1217-0410-a6f0-8f06a7374b81

app/models/custom_field.rb
app/models/repository.rb
app/models/user.rb
app/models/version.rb
app/models/wiki.rb
app/models/wiki_page.rb

index 46d45813c201741e84e6bc529f21a61820913fe5..8936a6d661771ff2881eb8e434ae225b5c7fe94e 100644 (file)
@@ -32,6 +32,7 @@ class CustomField < ActiveRecord::Base
   validates_presence_of :name, :field_format
   validates_uniqueness_of :name, :scope => :type
   validates_length_of :name, :maximum => 30
+  validates_length_of :regexp, maximum: 30
   validates_inclusion_of :field_format, :in => Proc.new { Redmine::FieldFormat.available_formats }
   validate :validate_custom_field
   attr_protected :id
index 0a04b58e8a06675e7a661d9f40d552018d3306c6..c563789b6d2e7435ac6facb52abe8358861ae7c1 100644 (file)
@@ -37,7 +37,9 @@ class Repository < ActiveRecord::Base
   # has_many :changesets, :dependent => :destroy is too slow for big repositories
   before_destroy :clear_changesets
 
+  validates_length_of :login, maximum: 60, allow_nil: true
   validates_length_of :password, :maximum => 255, :allow_nil => true
+  validates_length_of :root_url, :url, maximum: 255
   validates_length_of :identifier, :maximum => IDENTIFIER_MAX_LENGTH, :allow_blank => true
   validates_uniqueness_of :identifier, :scope => :project_id
   validates_exclusion_of :identifier, :in => %w(browse show entry raw changes annotate diff statistics graph revisions revision)
index 1a6b621c010793cf169d9bbc58da697797c2aeee..81a2e7c77924c3c08f7819a2bc998639c4070e02 100644 (file)
@@ -111,6 +111,7 @@ class User < Principal
   validates_format_of :login, :with => /\A[a-z0-9_\-@\.]*\z/i
   validates_length_of :login, :maximum => LOGIN_LENGTH_LIMIT
   validates_length_of :firstname, :lastname, :maximum => 30
+  validates_length_of :identity_url, maximum: 255
   validates_inclusion_of :mail_notification, :in => MAIL_NOTIFICATION_OPTIONS.collect(&:first), :allow_blank => true
   validate :validate_password_length
   validate do
index 2b82f7c5b9696e4ec1415f891557d55fcf9f0382..14428f60540a76f238f991a289f6c481d8feed0a 100644 (file)
@@ -35,7 +35,7 @@ class Version < ActiveRecord::Base
   validates_presence_of :name
   validates_uniqueness_of :name, :scope => [:project_id]
   validates_length_of :name, :maximum => 60
-  validates_length_of :description, :maximum => 255
+  validates_length_of :description, :wiki_page_title, :maximum => 255
   validates :effective_date, :date => true
   validates_inclusion_of :status, :in => VERSION_STATUSES
   validates_inclusion_of :sharing, :in => VERSION_SHARINGS
index 188cb5b6cea7f5b266237fc74451b4a22e286f6b..e629baf9bc3ae9dc2f195526de75a6a7d1919949 100644 (file)
@@ -25,6 +25,7 @@ class Wiki < ActiveRecord::Base
 
   validates_presence_of :start_page
   validates_format_of :start_page, :with => /\A[^,\.\/\?\;\|\:]*\z/
+  validates_length_of :title, maximum: 255
   attr_protected :id
 
   before_destroy :delete_redirects
index ae1e74cca90827e1ebf676f24c59e6a1fdcb0c28..9922fa4be4c4ed6cb03d7d5e98a27efdd4b85248 100644 (file)
@@ -45,6 +45,7 @@ class WikiPage < ActiveRecord::Base
   validates_presence_of :title
   validates_format_of :title, :with => /\A[^,\.\/\?\;\|\s]*\z/
   validates_uniqueness_of :title, :scope => :wiki_id, :case_sensitive => false
+  validates_length_of :title, maximum: 255
   validates_associated :content
   attr_protected :id