Defect #2473 » redmine-0.9-stable-r3695-login_case_insensitive.patch
| app/models/user.rb (working copy) | ||
|---|---|---|
| 53 | 53 | attr_protected :login, :admin, :password, :password_confirmation, :hashed_password, :group_ids | 
| 54 | 54 |  | 
| 55 | 55 |   validates_presence_of :login, :firstname, :lastname, :mail, :if => Proc.new { |user| !user.is_a?(AnonymousUser) } | 
| 56 |   validates_uniqueness_of :login, :if => Proc.new { |user| !user.login.blank? } | |
| 56 |   validates_uniqueness_of :login, :if => Proc.new { |user| !user.login.blank? }, :case_sensitive => false | |
| 57 | 57 |   validates_uniqueness_of :mail, :if => Proc.new { |user| !user.mail.blank? }, :case_sensitive => false | 
| 58 | 58 | # Login must contain lettres, numbers, underscores only | 
| 59 | 59 | validates_format_of :login, :with => /^[a-z0-9_\-@\.]*$/i | 
| ... | ... | |
| 96 | 96 | def self.try_to_login(login, password) | 
| 97 | 97 | # Make sure no one can sign in with an empty password | 
| 98 | 98 | return nil if password.to_s.empty? | 
| 99 |     user = find(:first, :conditions => ["login=?", login]) | |
| 99 |     user = find(:first, :conditions => ["LOWER(login) = ?", login.to_s.downcase]) | |
| 100 | 100 | if user | 
| 101 | 101 | # user is already in local database | 
| 102 | 102 | return nil if !user.active? | 
- « Previous
- 1
- 2
- Next »