This commit is contained in:
Chaitanya Yadav 2017-07-12 14:11:54 +00:00 committed by GitHub
commit f1d2bf710f
4 changed files with 32 additions and 16 deletions

View file

@ -1,17 +1,14 @@
class SchedulesController < ApplicationController
load_and_authorize_resource
protect_from_forgery with: :null_session
before_action :respond_to_options
load_resource :conference, find_by: :short_title
load_resource :program, through: :conference, singleton: true, except: :index
before_action :presence_of_selected_schedule
load_and_authorize_resource :selected_schedule, through: :program, singleton: true
def show
@rooms = @conference.venue.rooms if @conference.venue
schedules = @program.selected_event_schedules
unless schedules
redirect_to events_conference_schedule_path(@conference.short_title)
end
@events_xml = schedules.map(&:event).group_by{ |event| event.time.to_date } if schedules
@dates = @conference.start_date..@conference.end_date
@step_minutes = @program.schedule_interval.minutes
@ -49,4 +46,9 @@ class SchedulesController < ApplicationController
format.html { head :ok }
end if request.options?
end
def presence_of_selected_schedule
return if @program.selected_event_schedules
redirect_to root_path, notice: 'Program is yet to be scheduled.'
end
end

View file

@ -34,10 +34,6 @@ class Ability
can [:show], Conference do |conference|
conference.splashpage && conference.splashpage.public == true
end
# Can view the schedule
can [:schedule, :events], Conference do |conference|
conference.program.cfp && conference.program.schedule_public
end
can :show, Event do |event|
event.state == 'confirmed'

View file

@ -21,7 +21,7 @@
- if !@conference || @conference != conference
- if conference.splashpage && conference.splashpage.public
= link_to "View Conference", conference_path(conference.short_title), class: 'btn btn-default'
- if conference.program and conference.program.schedule_public
- if conference.program and conference.program.selected_event_schedules and conference.program.schedule_public
= link_to "Schedule", conference_schedule_path(conference.short_title), class: 'btn btn-default'
- if conference.registration_open?
- if conference.user_registered?(current_user)