]> source.dussan.org Git - redmine.git/commitdiff
Fix 'DEPRECATION WARNING: Uniqueness validator will no longer enforce case sensitive...
authorGo MAEDA <maeda@farend.jp>
Tue, 28 Jan 2020 09:49:14 +0000 (09:49 +0000)
committerGo MAEDA <maeda@farend.jp>
Tue, 28 Jan 2020 09:49:14 +0000 (09:49 +0000)
Patch by Marius BALTEANU.

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

17 files changed:
app/models/auth_source.rb
app/models/changeset.rb
app/models/custom_field.rb
app/models/enabled_module.rb
app/models/enumeration.rb
app/models/issue_category.rb
app/models/issue_relation.rb
app/models/issue_status.rb
app/models/member.rb
app/models/project.rb
app/models/repository.rb
app/models/role.rb
app/models/setting.rb
app/models/token.rb
app/models/tracker.rb
app/models/version.rb
app/models/watcher.rb

index c8ec1f92f29d7280923f2235583e8d9023094d1c..e0368aed86d2c042551c504719be2810823ff9cc 100644 (file)
@@ -30,7 +30,7 @@ class AuthSource < ActiveRecord::Base
   has_many :users
 
   validates_presence_of :name
-  validates_uniqueness_of :name
+  validates_uniqueness_of :name, :case_sensitive => false
   validates_length_of :name, :maximum => 60
 
   safe_attributes(
index 6a0b42df88ad87c4a1a2509ce6dabba79d2dddd5..7e7615b4a1d943a6530d021fca6b0bbeb3dbdf23 100644 (file)
@@ -46,8 +46,8 @@ class Changeset < ActiveRecord::Base
                             :scope => preload(:user, {:repository => :project})
 
   validates_presence_of :repository_id, :revision, :committed_on, :commit_date
-  validates_uniqueness_of :revision, :scope => :repository_id
-  validates_uniqueness_of :scmid, :scope => :repository_id, :allow_nil => true
+  validates_uniqueness_of :revision, :scope => :repository_id, :case_sensitive => false
+  validates_uniqueness_of :scmid, :scope => :repository_id, :allow_nil => true, :case_sensitive => false
 
   scope :visible, lambda {|*args|
     joins(:repository => :project).
index 1802702bd5a9ac2557a856ad293850fdcbb64610..5fee33bdd86942729f02b018e1d560c7103ef66e 100644 (file)
@@ -32,7 +32,7 @@ class CustomField < ActiveRecord::Base
   store :format_store
 
   validates_presence_of :name, :field_format
-  validates_uniqueness_of :name, :scope => :type
+  validates_uniqueness_of :name, :scope => :type, :case_sensitive => false
   validates_length_of :name, :maximum => 30
   validates_length_of :regexp, maximum: 255
   validates_inclusion_of :field_format, :in => Proc.new { Redmine::FieldFormat.available_formats }
index c66377682d21cd470a305a6782e03d8e7e621df2..f2cfa60d8159993268bf00a548d05dd5ab0cf4fc 100644 (file)
@@ -22,7 +22,7 @@ class EnabledModule < ActiveRecord::Base
   acts_as_watchable
 
   validates_presence_of :name
-  validates_uniqueness_of :name, :scope => :project_id
+  validates_uniqueness_of :name, :scope => :project_id, :case_sensitive => false
 
   after_create :module_enabled
 
index 70dda077b6856115bd6aad752ebd3d1f69801052..6a3f16a02cbf0e13f4d744a83103c40b81f237d2 100644 (file)
@@ -32,7 +32,7 @@ class Enumeration < ActiveRecord::Base
   before_save    :check_default
 
   validates_presence_of :name
-  validates_uniqueness_of :name, :scope => [:type, :project_id]
+  validates_uniqueness_of :name, :scope => [:type, :project_id], :case_sensitive => false
   validates_length_of :name, :maximum => 30
 
   scope :shared, lambda { where(:project_id => nil) }
index c6ac0aea2350726225b10d284f9577ebfa7140e6..e117222edabb5f52ae9fcab51fbb51dcb31392b5 100644 (file)
@@ -24,7 +24,7 @@ class IssueCategory < ActiveRecord::Base
   has_many :issues, :foreign_key => 'category_id', :dependent => :nullify
 
   validates_presence_of :name
-  validates_uniqueness_of :name, :scope => [:project_id]
+  validates_uniqueness_of :name, :scope => [:project_id], :case_sensitive => false
   validates_length_of :name, :maximum => 60
 
   safe_attributes 'name', 'assigned_to_id'
index 284f0052a98264de03c2809678a3379089613f79..07354680bdf6e2741e23e26e0ccaa5156e7e42df 100644 (file)
@@ -72,7 +72,7 @@ class IssueRelation < ActiveRecord::Base
   validates_presence_of :issue_from, :issue_to, :relation_type
   validates_inclusion_of :relation_type, :in => TYPES.keys
   validates_numericality_of :delay, :allow_nil => true
-  validates_uniqueness_of :issue_to_id, :scope => :issue_from_id
+  validates_uniqueness_of :issue_to_id, :scope => :issue_from_id, :case_sensitive => false
   validate :validate_issue_relation
 
   before_save :handle_issue_order
index c94f1006ff63e6585d9d439532d6800a2ddfee94..f07c13cf209c93e25ea480ec9838197ca620c607 100644 (file)
@@ -29,7 +29,7 @@ class IssueStatus < ActiveRecord::Base
   before_destroy :delete_workflow_rules
 
   validates_presence_of :name
-  validates_uniqueness_of :name
+  validates_uniqueness_of :name, :case_sensitive => false
   validates_length_of :name, :maximum => 30
   validates_inclusion_of :default_done_ratio, :in => 0..100, :allow_nil => true
 
index ad049a7d45a97e055854f9a281a673f7eed14aa9..f03ede2d146b616ae8847348af37da004e23dc9d 100644 (file)
@@ -25,7 +25,7 @@ class Member < ActiveRecord::Base
   belongs_to :project
 
   validates_presence_of :principal, :project
-  validates_uniqueness_of :user_id, :scope => :project_id
+  validates_uniqueness_of :user_id, :scope => :project_id, :case_sensitive => false
   validate :validate_role
 
   before_destroy :set_issue_category_nil, :remove_from_project_default_assigned_to
index baeeb8e3ebc7d962e47499fc42f4a3e42d6daf16..79d230f6be639d23e0dc232ec9566b54eb3fdb9b 100644 (file)
@@ -70,7 +70,7 @@ class Project < ActiveRecord::Base
                 :author => nil
 
   validates_presence_of :name, :identifier
-  validates_uniqueness_of :identifier, :if => Proc.new {|p| p.identifier_changed?}
+  validates_uniqueness_of :identifier, :if => Proc.new {|p| p.identifier_changed?}, :case_sensitive => false
   validates_length_of :name, :maximum => 255
   validates_length_of :homepage, :maximum => 255
   validates_length_of :identifier, :maximum => IDENTIFIER_MAX_LENGTH
index 089027c9d3843784a1943dce9caa602344ce9d4d..f20eacc20ea4e25564200fa409f5b66e7ffb44fe 100644 (file)
@@ -43,7 +43,7 @@ class Repository < ActiveRecord::Base
   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_uniqueness_of :identifier, :scope => :project_id, :case_sensitive => false
   validates_exclusion_of :identifier, :in => %w(browse show entry raw changes annotate diff statistics graph revisions revision)
   # donwcase letters, digits, dashes, underscores but not digits only
   validates_format_of :identifier, :with => /\A(?!\d+$)[a-z0-9\-_]*\z/, :allow_blank => true
index 5c4795c4247a727068039e12c94412b313bb26cc..f49a3e3373178ce179aa54d72b278ba00afb7778 100644 (file)
@@ -76,7 +76,7 @@ class Role < ActiveRecord::Base
   store :settings, :accessors => [:permissions_all_trackers, :permissions_tracker_ids]
 
   validates_presence_of :name
-  validates_uniqueness_of :name
+  validates_uniqueness_of :name, :case_sensitive => false
   validates_length_of :name, :maximum => 255
   validates_inclusion_of(
     :issues_visibility,
index 503ee1d3fdff4968e60d30e83c82ed336c7a2c85..03fcb8ef0c5436973f81e03792dafca59c433005 100644 (file)
@@ -85,7 +85,7 @@ class Setting < ActiveRecord::Base
   cattr_accessor :available_settings
   self.available_settings ||= {}
 
-  validates_uniqueness_of :name, :if => Proc.new {|setting| setting.new_record? || setting.name_changed?}
+  validates_uniqueness_of :name, :case_sensitive => false, :if => Proc.new {|setting| setting.new_record? || setting.name_changed?}
   validates_inclusion_of :name, :in => Proc.new {available_settings.keys}
   validates_numericality_of :value, :only_integer => true, :if => Proc.new { |setting|
     (s = available_settings[setting.name]) && s['format'] == 'int'
index 8e93918ecfa24d1ab89cbe54fff35d8983944aca..91806f609b9054f384ca072fa0011078317f135a 100644 (file)
@@ -19,7 +19,7 @@
 
 class Token < ActiveRecord::Base
   belongs_to :user
-  validates_uniqueness_of :value
+  validates_uniqueness_of :value, :case_sensitive => false
 
   before_create :delete_previous_tokens, :generate_new_token
 
index a3357866d10bca28d7c1ec268ed68e7ab75fceda..5785f47bd8a6e8cd3cf9db8d04274e5618b3da64 100644 (file)
@@ -36,7 +36,7 @@ class Tracker < ActiveRecord::Base
 
   validates_presence_of :default_status
   validates_presence_of :name
-  validates_uniqueness_of :name
+  validates_uniqueness_of :name, :case_sensitive => false
   validates_length_of :name, :maximum => 30
   validates_length_of :description, :maximum => 255
 
index ef8d1dc59e76d9098079835ce9e76b6c6cac55d1..e97d1484d4983895b56bd550b9f0dfa1ec5c279d 100644 (file)
@@ -127,7 +127,7 @@ class Version < ActiveRecord::Base
   VERSION_SHARINGS = %w(none descendants hierarchy tree system)
 
   validates_presence_of :name
-  validates_uniqueness_of :name, :scope => [:project_id]
+  validates_uniqueness_of :name, :scope => [:project_id], :case_sensitive => false
   validates_length_of :name, :maximum => 60
   validates_length_of :description, :wiki_page_title, :maximum => 255
   validates :effective_date, :date => true
index 8ea4570603edfbe0fa7ec283d68007249c1be164..c17ceae7ba09ac07b367d088c762145c9a8c4e2d 100644 (file)
@@ -22,7 +22,7 @@ class Watcher < ActiveRecord::Base
   belongs_to :user
 
   validates_presence_of :user
-  validates_uniqueness_of :user_id, :scope => [:watchable_type, :watchable_id]
+  validates_uniqueness_of :user_id, :scope => [:watchable_type, :watchable_id], :case_sensitive => false
   validate :validate_user
 
   # Returns true if at least one object among objects is watched by user