Request a booth only when cfp is open
This commit is contained in:
parent
8b5ebb3dd7
commit
703813248d
3 changed files with 13 additions and 1 deletions
|
|
@ -75,7 +75,9 @@ class Ability
|
||||||
can [:new, :create], Payment, user_id: user.id
|
can [:new, :create], Payment, user_id: user.id
|
||||||
can [:index, :show], PhysicalTicket, user: user
|
can [:index, :show], PhysicalTicket, user: user
|
||||||
|
|
||||||
can [:new, :create], Booth
|
can [:new, :create], Booth do |booth|
|
||||||
|
booth.new_record? && booth.conference.program.cfps.for_booths.try(:open?)
|
||||||
|
end
|
||||||
|
|
||||||
can [:edit, :update, :index, :show], Booth do |booth|
|
can [:edit, :update, :index, :show], Booth do |booth|
|
||||||
booth.users.include?(user)
|
booth.users.include?(user)
|
||||||
|
|
|
||||||
|
|
@ -94,6 +94,15 @@ class Cfp < ActiveRecord::Base
|
||||||
find_by(cfp_type: 'tracks')
|
find_by(cfp_type: 'tracks')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
##
|
||||||
|
# Finds the cfp for booths if it exists
|
||||||
|
#
|
||||||
|
# ====Returns
|
||||||
|
# * +Cfp+ -> The cfp with type 'booths'
|
||||||
|
def self.for_booths
|
||||||
|
find_by(cfp_type: 'booths')
|
||||||
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def before_end_of_conference
|
def before_end_of_conference
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,7 @@ describe BoothsController do
|
||||||
|
|
||||||
context 'user is signed in with submitter role' do
|
context 'user is signed in with submitter role' do
|
||||||
before :each do
|
before :each do
|
||||||
|
create(:cfp, program: conference.program, cfp_type: 'booths')
|
||||||
sign_in booth.submitter
|
sign_in booth.submitter
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue