@@ -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| |
|
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