Introduce an association for the selected_schedule
Association in Program fot the selected_schedule
This commit is contained in:
parent
3f114629f9
commit
beb17165a2
10 changed files with 24 additions and 21 deletions
|
|
@ -25,10 +25,10 @@ module Admin
|
|||
# if there is not selected schedule we create it
|
||||
unless @program.selected_schedule.present?
|
||||
schedule = @program.schedules.create
|
||||
@program.selected_schedule = schedule.id
|
||||
@program.selected_schedule = schedule
|
||||
@program.save!
|
||||
end
|
||||
@schedule_id = @program.selected_schedule
|
||||
@schedule_id = @program.selected_schedule.id
|
||||
end
|
||||
|
||||
def update
|
||||
|
|
|
|||
|
|
@ -13,13 +13,13 @@ class ConferenceController < ApplicationController
|
|||
|
||||
def schedule
|
||||
@rooms = @conference.venue.rooms if @conference.venue
|
||||
unless @program.selected_schedule.present? && @program.events.scheduled(@program.selected_schedule).any?
|
||||
unless @program.selected_schedule.present? && @program.events.scheduled(@program.selected_schedule.id).any?
|
||||
redirect_to events_conference_path(@conference.short_title)
|
||||
end
|
||||
|
||||
@events = @conference.program.events
|
||||
@events_xml = @program.schedules.find(@program.selected_schedule).event_schedules.order(start_time: :asc)
|
||||
.map(&:event).group_by{ |event| event.scheduled_start_time.to_date } if program.selected_schedule.present?
|
||||
@events_xml = @program.selected_schedule.event_schedules.order(start_time: :asc).map(&:event)
|
||||
.group_by{ |event| event.scheduled_start_time.to_date } if @program.selected_schedule.present?
|
||||
@dates = @conference.start_date..@conference.end_date
|
||||
@step_minutes = EventType::LENGTH_STEP.minutes
|
||||
@conf_start = 9
|
||||
|
|
@ -38,7 +38,7 @@ class ConferenceController < ApplicationController
|
|||
@dates = @conference.start_date..@conference.end_date
|
||||
|
||||
if @program.selected_schedule.present?
|
||||
@events_schedules = @program.schedules.find(@program.selected_schedule).event_schedules.order(start_time: :asc)
|
||||
@events_schedules = @program.selected_schedule.event_schedules.order(start_time: :asc)
|
||||
else
|
||||
@events_schedules = []
|
||||
end
|
||||
|
|
|
|||
|
|
@ -270,7 +270,7 @@ class Event < ActiveRecord::Base
|
|||
|
||||
# returns the event_schedule for this event and for the selected_schedule
|
||||
def selected_event_schedule
|
||||
event_schedules.find_by(schedule_id: program.try(:selected_schedule))
|
||||
event_schedules.find_by(schedule_id: program.try(:selected_schedule_id))
|
||||
end
|
||||
|
||||
private
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ class Program < ActiveRecord::Base
|
|||
has_many :tracks, dependent: :destroy
|
||||
has_many :difficulty_levels, dependent: :destroy
|
||||
has_many :schedules, dependent: :destroy
|
||||
belongs_to :selected_schedule, class_name: 'Schedule'
|
||||
has_many :events, dependent: :destroy do
|
||||
def require_registration
|
||||
where(require_registration: true, state: :confirmed)
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
%td.room{ style: "height: #{ td_height(@rooms) }px;" }
|
||||
.room.elipsis.break-words{ style: "-webkit-line-clamp: #{ room_lines(@rooms) }; height: #{ room_height(@rooms) }px;" }
|
||||
= room.name
|
||||
- event_schedules = room.event_schedules.select{ |e| (e.schedule_id == @conference.program.selected_schedule) && (e.start_time >= start_time) && (e.start_time < (start_time + number_columns.hour)) }
|
||||
- event_schedules = room.event_schedules.select{ |e| (e.schedule_id == @conference.program.selected_schedule.id) && (e.start_time >= start_time) && (e.start_time < (start_time + number_columns.hour)) }
|
||||
- (1..intervals).each do |i|
|
||||
- if span > 1
|
||||
- span -= 1
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue