mirror of
https://github.com/redmine/redmine.git
synced 2025-11-13 16:56:00 +01:00
Fix 'DEPRECATION WARNING: Uniqueness validator will no longer enforce case sensitive comparison in Rails 6.1.' (#32897).
Patch by Marius BALTEANU. git-svn-id: http://svn.redmine.org/redmine/trunk@19478 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
@@ -30,7 +30,7 @@ class AuthSource < ActiveRecord::Base
|
|||||||
has_many :users
|
has_many :users
|
||||||
|
|
||||||
validates_presence_of :name
|
validates_presence_of :name
|
||||||
validates_uniqueness_of :name
|
validates_uniqueness_of :name, :case_sensitive => false
|
||||||
validates_length_of :name, :maximum => 60
|
validates_length_of :name, :maximum => 60
|
||||||
|
|
||||||
safe_attributes(
|
safe_attributes(
|
||||||
|
|||||||
@@ -46,8 +46,8 @@ class Changeset < ActiveRecord::Base
|
|||||||
:scope => preload(:user, {:repository => :project})
|
:scope => preload(:user, {:repository => :project})
|
||||||
|
|
||||||
validates_presence_of :repository_id, :revision, :committed_on, :commit_date
|
validates_presence_of :repository_id, :revision, :committed_on, :commit_date
|
||||||
validates_uniqueness_of :revision, :scope => :repository_id
|
validates_uniqueness_of :revision, :scope => :repository_id, :case_sensitive => false
|
||||||
validates_uniqueness_of :scmid, :scope => :repository_id, :allow_nil => true
|
validates_uniqueness_of :scmid, :scope => :repository_id, :allow_nil => true, :case_sensitive => false
|
||||||
|
|
||||||
scope :visible, lambda {|*args|
|
scope :visible, lambda {|*args|
|
||||||
joins(:repository => :project).
|
joins(:repository => :project).
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ class CustomField < ActiveRecord::Base
|
|||||||
store :format_store
|
store :format_store
|
||||||
|
|
||||||
validates_presence_of :name, :field_format
|
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 :name, :maximum => 30
|
||||||
validates_length_of :regexp, maximum: 255
|
validates_length_of :regexp, maximum: 255
|
||||||
validates_inclusion_of :field_format, :in => Proc.new { Redmine::FieldFormat.available_formats }
|
validates_inclusion_of :field_format, :in => Proc.new { Redmine::FieldFormat.available_formats }
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ class EnabledModule < ActiveRecord::Base
|
|||||||
acts_as_watchable
|
acts_as_watchable
|
||||||
|
|
||||||
validates_presence_of :name
|
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
|
after_create :module_enabled
|
||||||
|
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ class Enumeration < ActiveRecord::Base
|
|||||||
before_save :check_default
|
before_save :check_default
|
||||||
|
|
||||||
validates_presence_of :name
|
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
|
validates_length_of :name, :maximum => 30
|
||||||
|
|
||||||
scope :shared, lambda { where(:project_id => nil) }
|
scope :shared, lambda { where(:project_id => nil) }
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ class IssueCategory < ActiveRecord::Base
|
|||||||
has_many :issues, :foreign_key => 'category_id', :dependent => :nullify
|
has_many :issues, :foreign_key => 'category_id', :dependent => :nullify
|
||||||
|
|
||||||
validates_presence_of :name
|
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 :name, :maximum => 60
|
||||||
|
|
||||||
safe_attributes 'name', 'assigned_to_id'
|
safe_attributes 'name', 'assigned_to_id'
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ class IssueRelation < ActiveRecord::Base
|
|||||||
validates_presence_of :issue_from, :issue_to, :relation_type
|
validates_presence_of :issue_from, :issue_to, :relation_type
|
||||||
validates_inclusion_of :relation_type, :in => TYPES.keys
|
validates_inclusion_of :relation_type, :in => TYPES.keys
|
||||||
validates_numericality_of :delay, :allow_nil => true
|
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
|
validate :validate_issue_relation
|
||||||
|
|
||||||
before_save :handle_issue_order
|
before_save :handle_issue_order
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ class IssueStatus < ActiveRecord::Base
|
|||||||
before_destroy :delete_workflow_rules
|
before_destroy :delete_workflow_rules
|
||||||
|
|
||||||
validates_presence_of :name
|
validates_presence_of :name
|
||||||
validates_uniqueness_of :name
|
validates_uniqueness_of :name, :case_sensitive => false
|
||||||
validates_length_of :name, :maximum => 30
|
validates_length_of :name, :maximum => 30
|
||||||
validates_inclusion_of :default_done_ratio, :in => 0..100, :allow_nil => true
|
validates_inclusion_of :default_done_ratio, :in => 0..100, :allow_nil => true
|
||||||
|
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ class Member < ActiveRecord::Base
|
|||||||
belongs_to :project
|
belongs_to :project
|
||||||
|
|
||||||
validates_presence_of :principal, :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
|
validate :validate_role
|
||||||
|
|
||||||
before_destroy :set_issue_category_nil, :remove_from_project_default_assigned_to
|
before_destroy :set_issue_category_nil, :remove_from_project_default_assigned_to
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ class Project < ActiveRecord::Base
|
|||||||
:author => nil
|
:author => nil
|
||||||
|
|
||||||
validates_presence_of :name, :identifier
|
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 :name, :maximum => 255
|
||||||
validates_length_of :homepage, :maximum => 255
|
validates_length_of :homepage, :maximum => 255
|
||||||
validates_length_of :identifier, :maximum => IDENTIFIER_MAX_LENGTH
|
validates_length_of :identifier, :maximum => IDENTIFIER_MAX_LENGTH
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ class Repository < ActiveRecord::Base
|
|||||||
validates_length_of :password, :maximum => 255, :allow_nil => true
|
validates_length_of :password, :maximum => 255, :allow_nil => true
|
||||||
validates_length_of :root_url, :url, maximum: 255
|
validates_length_of :root_url, :url, maximum: 255
|
||||||
validates_length_of :identifier, :maximum => IDENTIFIER_MAX_LENGTH, :allow_blank => true
|
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)
|
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
|
# donwcase letters, digits, dashes, underscores but not digits only
|
||||||
validates_format_of :identifier, :with => /\A(?!\d+$)[a-z0-9\-_]*\z/, :allow_blank => true
|
validates_format_of :identifier, :with => /\A(?!\d+$)[a-z0-9\-_]*\z/, :allow_blank => true
|
||||||
|
|||||||
@@ -76,7 +76,7 @@ class Role < ActiveRecord::Base
|
|||||||
store :settings, :accessors => [:permissions_all_trackers, :permissions_tracker_ids]
|
store :settings, :accessors => [:permissions_all_trackers, :permissions_tracker_ids]
|
||||||
|
|
||||||
validates_presence_of :name
|
validates_presence_of :name
|
||||||
validates_uniqueness_of :name
|
validates_uniqueness_of :name, :case_sensitive => false
|
||||||
validates_length_of :name, :maximum => 255
|
validates_length_of :name, :maximum => 255
|
||||||
validates_inclusion_of(
|
validates_inclusion_of(
|
||||||
:issues_visibility,
|
:issues_visibility,
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ class Setting < ActiveRecord::Base
|
|||||||
cattr_accessor :available_settings
|
cattr_accessor :available_settings
|
||||||
self.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_inclusion_of :name, :in => Proc.new {available_settings.keys}
|
||||||
validates_numericality_of :value, :only_integer => true, :if => Proc.new { |setting|
|
validates_numericality_of :value, :only_integer => true, :if => Proc.new { |setting|
|
||||||
(s = available_settings[setting.name]) && s['format'] == 'int'
|
(s = available_settings[setting.name]) && s['format'] == 'int'
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
class Token < ActiveRecord::Base
|
class Token < ActiveRecord::Base
|
||||||
belongs_to :user
|
belongs_to :user
|
||||||
validates_uniqueness_of :value
|
validates_uniqueness_of :value, :case_sensitive => false
|
||||||
|
|
||||||
before_create :delete_previous_tokens, :generate_new_token
|
before_create :delete_previous_tokens, :generate_new_token
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ class Tracker < ActiveRecord::Base
|
|||||||
|
|
||||||
validates_presence_of :default_status
|
validates_presence_of :default_status
|
||||||
validates_presence_of :name
|
validates_presence_of :name
|
||||||
validates_uniqueness_of :name
|
validates_uniqueness_of :name, :case_sensitive => false
|
||||||
validates_length_of :name, :maximum => 30
|
validates_length_of :name, :maximum => 30
|
||||||
validates_length_of :description, :maximum => 255
|
validates_length_of :description, :maximum => 255
|
||||||
|
|
||||||
|
|||||||
@@ -127,7 +127,7 @@ class Version < ActiveRecord::Base
|
|||||||
VERSION_SHARINGS = %w(none descendants hierarchy tree system)
|
VERSION_SHARINGS = %w(none descendants hierarchy tree system)
|
||||||
|
|
||||||
validates_presence_of :name
|
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 :name, :maximum => 60
|
||||||
validates_length_of :description, :wiki_page_title, :maximum => 255
|
validates_length_of :description, :wiki_page_title, :maximum => 255
|
||||||
validates :effective_date, :date => true
|
validates :effective_date, :date => true
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ class Watcher < ActiveRecord::Base
|
|||||||
belongs_to :user
|
belongs_to :user
|
||||||
|
|
||||||
validates_presence_of :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
|
validate :validate_user
|
||||||
|
|
||||||
# Returns true if at least one object among objects is watched by user
|
# Returns true if at least one object among objects is watched by user
|
||||||
|
|||||||
Reference in New Issue
Block a user