Makes User.find_by_mail case-insensitive (password reminder #2322, repo users mapping).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@2122 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
da98386bf7
commit
72d0843c1f
|
@ -179,6 +179,11 @@ class User < ActiveRecord::Base
|
|||
token && (token.created_on > Setting.autologin.to_i.day.ago) && token.user.active? ? token.user : nil
|
||||
end
|
||||
|
||||
# Makes find_by_mail case-insensitive
|
||||
def self.find_by_mail(mail)
|
||||
find(:first, :conditions => ["LOWER(mail) = ?", mail.to_s.downcase])
|
||||
end
|
||||
|
||||
# Sort users by their display names
|
||||
def <=>(user)
|
||||
self.to_s.downcase <=> user.to_s.downcase
|
||||
|
|
|
@ -44,7 +44,7 @@ class AccountTest < ActionController::IntegrationTest
|
|||
assert_response :success
|
||||
assert_template "account/lost_password"
|
||||
|
||||
post "account/lost_password", :mail => 'jsmith@somenet.foo'
|
||||
post "account/lost_password", :mail => 'jSmith@somenet.foo'
|
||||
assert_redirected_to "account/login"
|
||||
|
||||
token = Token.find(:first)
|
||||
|
|
|
@ -158,4 +158,10 @@ class UserTest < Test::Unit::TestCase
|
|||
@jsmith.pref.comments_sorting = 'desc'
|
||||
assert @jsmith.wants_comments_in_reverse_order?
|
||||
end
|
||||
|
||||
def test_find_by_mail_should_be_case_insensitive
|
||||
u = User.find_by_mail('JSmith@somenet.foo')
|
||||
assert_not_nil u
|
||||
assert_equal 'jsmith@somenet.foo', u.mail
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue