diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index fa95e53397d..e34c798c2d7 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -265,7 +265,7 @@ class UsersController < ApplicationController requires_parameter(:email) user = fetch_user_from_params guardian.ensure_can_edit!(user) - lower_email = Email.downcase(params[:email]) + lower_email = Email.downcase(params[:email]).strip # Raise an error if the email is already in use if User.where("email = ?", lower_email).exists? diff --git a/spec/controllers/users_controller_spec.rb b/spec/controllers/users_controller_spec.rb index b99926fc735..09bc8d06490 100644 --- a/spec/controllers/users_controller_spec.rb +++ b/spec/controllers/users_controller_spec.rb @@ -192,6 +192,10 @@ describe UsersController do it 'raises an error' do lambda { xhr :put, :change_email, username: user.username, email: other_user.email }.should raise_error(Discourse::InvalidParameters) end + + it 'raises an error if there is whitespace too' do + lambda { xhr :put, :change_email, username: user.username, email: other_user.email + ' ' }.should raise_error(Discourse::InvalidParameters) + end end context 'success' do