diff --git a/app/controllers/proposal_controller.rb b/app/controllers/proposal_controller.rb index 95042af5..64e34196 100644 --- a/app/controllers/proposal_controller.rb +++ b/app/controllers/proposal_controller.rb @@ -26,16 +26,7 @@ class ProposalController < ApplicationController def create @url = conference_program_proposal_index_path(@conference.short_title) - unless current_user - @user = User.new(user_params) - if @user.save - sign_in(@user) - else - flash[:error] = "Could not save user: #{@user.errors.full_messages.join(', ')}" - render action: 'new' - return - end - end + create_user_if_not_signed_in params[:event].delete :user @@ -146,6 +137,19 @@ class ProposalController < ApplicationController def user_params params.require(:user).permit(:email, :password, :password_confirmation, :username) end + + def create_user_if_not_signed_in + unless current_user + @user = User.new(user_params) + if @user.save + sign_in(@user) + else + flash[:error] = "Could not save user: #{@user.errors.full_messages.join(', ')}" + render action: 'new' + return + end + end + end end # FIXME: Introduce strong_parameters pronto!