##// END OF EJS Templates
Fixed that users with different case logins cannot update their accounts (#10711)....
Jean-Philippe Lang -
r9315:b0f35a3cdeaf
parent child
Show More
@@ -68,7 +68,7 class User < Principal
68 MAIL_LENGTH_LIMIT = 60
68 MAIL_LENGTH_LIMIT = 60
69
69
70 validates_presence_of :login, :firstname, :lastname, :mail, :if => Proc.new { |user| !user.is_a?(AnonymousUser) }
70 validates_presence_of :login, :firstname, :lastname, :mail, :if => Proc.new { |user| !user.is_a?(AnonymousUser) }
71 validates_uniqueness_of :login, :if => Proc.new { |user| !user.login.blank? }, :case_sensitive => false
71 validates_uniqueness_of :login, :if => Proc.new { |user| user.login_changed? && user.login.present? }, :case_sensitive => false
72 validates_uniqueness_of :mail, :if => Proc.new { |user| !user.mail.blank? }, :case_sensitive => false
72 validates_uniqueness_of :mail, :if => Proc.new { |user| !user.mail.blank? }, :case_sensitive => false
73 # Login must contain lettres, numbers, underscores only
73 # Login must contain lettres, numbers, underscores only
74 validates_format_of :login, :with => /^[a-z0-9_\-@\.]*$/i
74 validates_format_of :login, :with => /^[a-z0-9_\-@\.]*$/i
@@ -134,6 +134,20 class UserTest < ActiveSupport::TestCase
134 assert_equal "john", @admin.login
134 assert_equal "john", @admin.login
135 end
135 end
136
136
137 def test_update_should_not_fail_for_legacy_user_with_different_case_logins
138 u1 = User.new(:firstname => "new", :lastname => "user", :mail => "newuser1@somenet.foo")
139 u1.login = 'newuser1'
140 assert u1.save
141
142 u2 = User.new(:firstname => "new", :lastname => "user", :mail => "newuser2@somenet.foo")
143 u2.login = 'newuser1'
144 assert u2.save(false)
145
146 user = User.find(u2.id)
147 user.firstname = "firstname"
148 assert user.save, "Save failed"
149 end
150
137 def test_destroy_should_delete_members_and_roles
151 def test_destroy_should_delete_members_and_roles
138 members = Member.find_all_by_user_id(2)
152 members = Member.find_all_by_user_id(2)
139 ms = members.size
153 ms = members.size
General Comments 0
You need to be logged in to leave comments. Login now