Merge pull request #872 from sonalkr132/proposal-after-cfp

Allow submission of proposal only if program has cfp
This commit is contained in:
Henne Vogelsang 2016-03-23 16:34:12 +01:00
commit 10ef898a0d
5 changed files with 32 additions and 11 deletions

View file

@ -2,9 +2,11 @@ class ProposalController < ApplicationController
before_filter :authenticate_user!, except: [:show, :new, :create]
load_resource :conference, find_by: :short_title
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, except: [:new, :create]
def index
@event = @program.events.new
@event.event_users.new(user: current_user, event_role: 'submitter')
@events = current_user.proposals(@conference)
end
@ -14,6 +16,9 @@ class ProposalController < ApplicationController
end
def new
@event = @program.events.new
@event.event_users.new(user: current_user, event_role: 'submitter') if current_user
authorize! :new, @event
@user = User.new
@url = conference_program_proposal_index_path(@conference.short_title)
end
@ -46,6 +51,7 @@ class ProposalController < ApplicationController
event_role: 'submitter')
@event.event_users.new(user: current_user,
event_role: 'speaker')
authorize! :new, @event
unless @event.save
flash[:error] = "Could not submit proposal: #{@event.errors.full_messages.join(', ')}"