User creation if not signed in moved to helper
It makes more sense to use it as a filter, and also makes it somewhat reusable Signed-off-by: Carlos Coelho <carlos@pencillabs.com>
This commit is contained in:
parent
aa912357d6
commit
06c60ef095
2 changed files with 14 additions and 15 deletions
|
|
@ -1,5 +1,6 @@
|
||||||
class ProposalController < ApplicationController
|
class ProposalController < ApplicationController
|
||||||
before_filter :authenticate_user!, except: [:show, :new, :create]
|
before_filter :authenticate_user!, except: [:show, :new, :create]
|
||||||
|
before_action :create_user_if_not_signed_in, only: [:create]
|
||||||
load_resource :conference, find_by: :short_title
|
load_resource :conference, find_by: :short_title
|
||||||
load_resource :program, through: :conference, singleton: true
|
load_resource :program, through: :conference, singleton: true
|
||||||
load_and_authorize_resource :event, parent: false, through: :program
|
load_and_authorize_resource :event, parent: false, through: :program
|
||||||
|
|
@ -26,8 +27,6 @@ class ProposalController < ApplicationController
|
||||||
def create
|
def create
|
||||||
@url = conference_program_proposal_index_path(@conference.short_title)
|
@url = conference_program_proposal_index_path(@conference.short_title)
|
||||||
|
|
||||||
create_user_if_not_signed_in
|
|
||||||
|
|
||||||
params[:event].delete :user
|
params[:event].delete :user
|
||||||
|
|
||||||
proposal_submission
|
proposal_submission
|
||||||
|
|
@ -126,19 +125,6 @@ class ProposalController < ApplicationController
|
||||||
params.require(:user).permit(:email, :password, :password_confirmation, :username)
|
params.require(:user).permit(:email, :password, :password_confirmation, :username)
|
||||||
end
|
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
|
|
||||||
|
|
||||||
def proposal_submission
|
def proposal_submission
|
||||||
@event = Event.new(event_params)
|
@event = Event.new(event_params)
|
||||||
@event.program = @program
|
@event.program = @program
|
||||||
|
|
|
||||||
|
|
@ -296,4 +296,17 @@ module ApplicationHelper
|
||||||
def unread_notifications(user)
|
def unread_notifications(user)
|
||||||
Comment.accessible_by(current_ability).find_since_last_login(user)
|
Comment.accessible_by(current_ability).find_since_last_login(user)
|
||||||
end
|
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
|
end
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue