From: Jean-Philippe Lang Date: Fri, 31 Dec 2010 15:30:50 +0000 (+0000) Subject: Remove the limitation on characters that can be used in custom_field, issue_status... X-Git-Tag: 1.2.0~1157 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=44ffc5a3365ffd16d6971d1c3f691a2f3f80ba3b;p=redmine.git Remove the limitation on characters that can be used in custom_field, issue_status, role, tracker, user names (#5152). git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@4599 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- diff --git a/app/models/custom_field.rb b/app/models/custom_field.rb index 7cc6e865d..3aacd4686 100644 --- a/app/models/custom_field.rb +++ b/app/models/custom_field.rb @@ -23,7 +23,6 @@ class CustomField < ActiveRecord::Base validates_presence_of :name, :field_format validates_uniqueness_of :name, :scope => :type validates_length_of :name, :maximum => 30 - validates_format_of :name, :with => /^[\w\s\.\'\-]*$/i validates_inclusion_of :field_format, :in => Redmine::CustomFieldFormat.available_formats def initialize(attributes = nil) diff --git a/app/models/issue_status.rb b/app/models/issue_status.rb index f376d5d15..8171cdb79 100644 --- a/app/models/issue_status.rb +++ b/app/models/issue_status.rb @@ -25,7 +25,6 @@ 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_inclusion_of :default_done_ratio, :in => 0..100, :allow_nil => true def after_save diff --git a/app/models/role.rb b/app/models/role.rb index d1bebdb6d..6a4b9e4e3 100644 --- a/app/models/role.rb +++ b/app/models/role.rb @@ -43,7 +43,6 @@ 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 permissions read_attribute(:permissions) || [] diff --git a/app/models/tracker.rb b/app/models/tracker.rb index 9ee045ce1..93fdd4035 100644 --- a/app/models/tracker.rb +++ b/app/models/tracker.rb @@ -31,7 +31,6 @@ 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 def to_s; name end diff --git a/app/models/user.rb b/app/models/user.rb index 91d6c5fd0..7d0014c8d 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -68,7 +68,6 @@ class User < Principal # Login must contain lettres, numbers, underscores only validates_format_of :login, :with => /^[a-z0-9_\-@\.]*$/i validates_length_of :login, :maximum => 30 - validates_format_of :firstname, :lastname, :with => /^[\w\s\'\-\.]*$/i validates_length_of :firstname, :lastname, :maximum => 30 validates_format_of :mail, :with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i, :allow_nil => true validates_length_of :mail, :maximum => 60, :allow_nil => true diff --git a/lib/tasks/migrate_from_mantis.rake b/lib/tasks/migrate_from_mantis.rake index e9244fcaf..cd82872c1 100644 --- a/lib/tasks/migrate_from_mantis.rake +++ b/lib/tasks/migrate_from_mantis.rake @@ -88,13 +88,11 @@ task :migrate_from_mantis => :environment do def firstname @firstname = realname.blank? ? username : realname.split.first[0..29] - @firstname.gsub!(/[^\w\s\'\-]/i, '') @firstname end def lastname @lastname = realname.blank? ? '-' : realname.split[1..-1].join(' ')[0..29] - @lastname.gsub!(/[^\w\s\'\-]/i, '') @lastname = '-' if @lastname.blank? @lastname end @@ -224,7 +222,7 @@ task :migrate_from_mantis => :environment do end def name - read_attribute(:name)[0..29].gsub(/[^\w\s\'\-]/, '-') + read_attribute(:name)[0..29] end end diff --git a/lib/tasks/migrate_from_trac.rake b/lib/tasks/migrate_from_trac.rake index 0510be51e..f124703d4 100644 --- a/lib/tasks/migrate_from_trac.rake +++ b/lib/tasks/migrate_from_trac.rake @@ -246,8 +246,8 @@ namespace :redmine do ln = ($2 || '-').strip u = User.new :mail => mail.gsub(/[^-@a-z0-9\.]/i, '-'), - :firstname => fn[0, limit_for(User, 'firstname')].gsub(/[^\w\s\'\-]/i, '-'), - :lastname => ln[0, limit_for(User, 'lastname')].gsub(/[^\w\s\'\-]/i, '-') + :firstname => fn[0, limit_for(User, 'firstname')], + :lastname => ln[0, limit_for(User, 'lastname')] u.login = username[0,limit_for(User, 'login')].gsub(/[^a-z0-9_\-@\.]/i, '-') u.password = 'trac'