Merge 06c60ef095 into 18bb1bd237
This commit is contained in:
commit
5abd4abddd
2 changed files with 29 additions and 24 deletions
|
|
@ -1,5 +1,6 @@
|
|||
class ProposalController < ApplicationController
|
||||
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 :program, through: :conference, singleton: true
|
||||
load_and_authorize_resource :event, parent: false, through: :program
|
||||
|
|
@ -26,32 +27,9 @@ 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
|
||||
|
||||
params[:event].delete :user
|
||||
|
||||
@event = Event.new(event_params)
|
||||
@event.program = @program
|
||||
|
||||
@event.event_users.new(user: current_user,
|
||||
event_role: 'submitter')
|
||||
@event.event_users.new(user: current_user,
|
||||
event_role: 'speaker')
|
||||
|
||||
unless @event.save
|
||||
flash[:error] = "Could not submit proposal: #{@event.errors.full_messages.join(', ')}"
|
||||
render action: 'new'
|
||||
return
|
||||
end
|
||||
proposal_submission
|
||||
|
||||
ahoy.track 'Event submission', title: 'New submission'
|
||||
|
||||
|
|
@ -146,6 +124,20 @@ class ProposalController < ApplicationController
|
|||
def user_params
|
||||
params.require(:user).permit(:email, :password, :password_confirmation, :username)
|
||||
end
|
||||
|
||||
def proposal_submission
|
||||
@event = Event.new(event_params)
|
||||
@event.program = @program
|
||||
|
||||
@event.event_users.new(user: current_user,
|
||||
event_role: 'submitter')
|
||||
@event.event_users.new(user: current_user,
|
||||
event_role: 'speaker')
|
||||
|
||||
return unless !@event.save
|
||||
flash[:error] = "Could not submit proposal: #{@event.errors.full_messages.join(', ')}"
|
||||
render action: 'new'
|
||||
end
|
||||
end
|
||||
|
||||
# FIXME: Introduce strong_parameters pronto!
|
||||
|
|
|
|||
|
|
@ -300,4 +300,17 @@ module ApplicationHelper
|
|||
def unread_notifications(user)
|
||||
Comment.accessible_by(current_ability).find_since_last_login(user)
|
||||
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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue