diff --git a/app/controllers/invitations_controller.rb b/app/controllers/invitations_controller.rb index 0550f4fc00d4189b25b9808b300fd060072b9787..293627beb23898b350033bf30911b0683230b4ba 100644 --- a/app/controllers/invitations_controller.rb +++ b/app/controllers/invitations_controller.rb @@ -19,7 +19,7 @@ class InvitationsController < Devise::InvitationsController end aspect = params[:user].delete(:aspects) message = params[:user].delete(:invite_messages) - emails = params[:user][:email].split(/, */) + emails = params[:user][:email].to_s.gsub(/\s/, '').split(/, */) good_emails, bad_emails = emails.partition{|e| e.try(:match, Devise.email_regexp)} diff --git a/spec/controllers/invitations_controller_spec.rb b/spec/controllers/invitations_controller_spec.rb index 466bbc24a218707fca46173d1871a0f1b8f91501..5a5e7c8df4cd672d64fffe2fc74c6db4c5915fef 100644 --- a/spec/controllers/invitations_controller_spec.rb +++ b/spec/controllers/invitations_controller_spec.rb @@ -49,6 +49,11 @@ describe InvitationsController do post :create, :user => @invite.merge(:email => "foofoofoofoo@example.com, mbs@gmail.com") end + it 'can handle a comma seperated list of emails with whitespace' do + Resque.should_receive(:enqueue).twice() + post :create, :user => @invite.merge(:email => "foofoofoofoo@example.com , mbs@gmail.com") + end + it 'displays a message that tells you how many invites were sent, and which REJECTED' do post :create, :user => @invite.merge(:email => "mbs@gmail.com, foo@bar.com, foo.com, lala@foo, cool@bar.com") flash[:error].should_not be_empty