diff --git a/app/controllers/schedule_controller.rb b/app/controllers/schedule_controller.rb
index 997e6612..8a18f568 100644
--- a/app/controllers/schedule_controller.rb
+++ b/app/controllers/schedule_controller.rb
@@ -1,13 +1,12 @@
class ScheduleController < ApplicationController
layout "application"
- caches_page :index
def index
- @conference = Conference.find_all_by_short_title(params[:conference_id]).first
+ @conference = Conference.includes(:rooms, {:events => [:speakers, :track, :event_type]}).where("conferences.short_title" => params[:conference_id]).first
+ @rooms = @conference.rooms
@events = @conference.events
@dates = @conference.start_date..@conference.end_date
- @rooms = @conference.rooms
end
end
diff --git a/app/views/schedule/index.html.erb b/app/views/schedule/index.html.erb
index 4b4e2aee..12df1d14 100644
--- a/app/views/schedule/index.html.erb
+++ b/app/views/schedule/index.html.erb
@@ -28,6 +28,9 @@
<% conf_end = DateTime.parse("#{date} 19:00") %>
<% while conf_start < conf_end %>
+ <%-
+ start_hour = conf_start.hour
+ start_min = conf_start.min %>
|
@@ -35,7 +38,8 @@
|
<% @rooms.each do |room| %>
- <% event = @events.find_all{|event|event.start_time and event.start_time.strftime("%Y-%m-%d %H:%M").eql? conf_start.strftime("%Y-%m-%d %H:%M") and event.room_id == room.id } %>
+ <% events_for_date = @events.find_all {|e| e.room_id == room.id && e.start_time && e.start_time.to_date == date } %>
+ <% event = events_for_date.find_all{|e| e.start_time.hour == start_hour && e.start_time.min == start_min } %>
<% if !event.empty? %>
<% span[room.id] = event[0].event_type.length / 15 %>
@@ -44,8 +48,9 @@
class="event" role="button"
data-href="<%= url_for(conference_proposal_path(@conference.short_title, event[0].id)) %>">
- <%- speaker = event[0].speakers.first || event[0].submitter %>
- <%= image_tag speaker.gravatar_url, :class => "img-circle pull-right", :alt => speaker.public_name, :title => speaker.public_name, :style => "padding:8px;" %>
+ <%- if speaker = event[0].speakers.first %>
+ <%= image_tag speaker.gravatar_url, :class => "img-circle pull-right", :alt => speaker.public_name, :title => speaker.public_name, :style => "padding:8px;" %>
+ <%- end %>
<%= event[0].title %>