diff --git a/app/models/user.rb b/app/models/user.rb index 7979cbed2..32b2ee34f 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -76,6 +76,7 @@ class User end def self.find_for_authentication(conditions={}) + conditions[:username] = conditions[:username].downcase if conditions[:username] =~ /^([\w\.%\+\-]+)@([\w\-]+\.)+([\w]{2,})$/i # email regex conditions[:email] = conditions.delete(:username) end diff --git a/public/javascripts/view.js b/public/javascripts/view.js index e166fc30e..870d1f07a 100644 --- a/public/javascripts/view.js +++ b/public/javascripts/view.js @@ -147,7 +147,7 @@ var View = { avatars: { bind: function() { - $(".left_pane img.avatar, #manage_aspect_zones img.avatar").tipsy({ + $("#left_pane img.avatar, #manage_aspect_zones img.avatar").tipsy({ live: true }); } diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index f283a4b35..55f87662a 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -245,9 +245,15 @@ describe User do end describe ".find_for_authentication" do - it "preserves case" do + before do + user + user2 + end + it 'finds a user' do User.find_for_authentication(:username => user.username).should == user - User.find_for_authentication(:username => user.username.upcase).should be_nil + end + it "does not preserve case" do + User.find_for_authentication(:username => user.username.upcase).should == user end end