diff --git a/app/assets/stylesheets/osem-schedule.css.scss b/app/assets/stylesheets/osem-schedule.css.scss index cc48da5d..61959a67 100644 --- a/app/assets/stylesheets/osem-schedule.css.scss +++ b/app/assets/stylesheets/osem-schedule.css.scss @@ -149,6 +149,38 @@ td.no-padding{ padding:0px !important; } +.all-events-title{ + margin-top: 40px; + border-bottom: 1px solid #848484; +} + +.date-title{ + font-size: 23px; + font-weight: bold; + padding-bottom: 2px; + display:inline-block; +} + +.start-time{ + font-size: 16px; + padding-left: 30px; + margin-top: 32px; +} + +.new-time-event{ + margin-top: 20px; +} + + +.all-speaker-pic{ + padding: 20px 10px 20px 10px; +} + +.track{ + padding: 0px 5px 0px 5px; + display: inline-block; + } + /* Small devices (tablets, 768px and up) */ @media (min-width: 768px) { .room, .event-title{ diff --git a/app/controllers/conference_controller.rb b/app/controllers/conference_controller.rb index da98b944..b2f1670f 100644 --- a/app/controllers/conference_controller.rb +++ b/app/controllers/conference_controller.rb @@ -21,6 +21,8 @@ class ConferenceController < ApplicationController conf_end = 20 @conf_period = conf_end - @conf_start + @scheduled_events = @conference.program.events.scheduled + if @dates == Date.current @today = Date.current.strftime('%Y-%m-%d') else diff --git a/app/models/event.rb b/app/models/event.rb index 157446ac..1f6c7dfb 100644 --- a/app/models/event.rb +++ b/app/models/event.rb @@ -73,7 +73,7 @@ class Event < ActiveRecord::Base # ====Returns # * +true+ or +false+ def scheduled? - room && start_time ? true : false + room.present? && start_time.present? end def registration_possible? diff --git a/app/models/program.rb b/app/models/program.rb index eba1d4b0..246084a4 100644 --- a/app/models/program.rb +++ b/app/models/program.rb @@ -27,7 +27,7 @@ class Program < ActiveRecord::Base end def scheduled - where.not(start_time: nil).where.not(room: nil) + where.not(start_time: nil).where.not(room: nil).order(start_time: :asc) end def highlights diff --git a/app/views/conference/_all_events.html.erb b/app/views/conference/_all_events.html.erb index f7fd7fc0..deb7c7a7 100644 --- a/app/views/conference/_all_events.html.erb +++ b/app/views/conference/_all_events.html.erb @@ -1,19 +1,29 @@

Program for <%= @conference.title %>

-<% @conference.program.events.confirmed.each do |event| %> -
-

- <%= link_to event.title, conference_program_proposal_path(@conference.short_title, event.id) %> -
- - <%= event.subtitle %> - -

-

- presented by <%= event.speaker_names %> -

-

- <%= truncate(event.abstract, :length => 400) -%> - <%= link_to 'more', conference_program_proposal_path(@conference.short_title, @conference.program.id, event.id) if event.abstract.length > 400 %> -

-
-<% end %> +
+ <% date = nil %> + <% time = nil %> + <% @scheduled_events.each do |event| %> + <% unless event.start_time.strftime('%Y-%m-%d').eql?(date) %> +
+ '> + <%= date = event.start_time.strftime('%Y-%m-%d') %> + + + + +
+ <% end %> + <% unless event.start_time.strftime('%H:%M').eql?(time) %> +
+ <%= time = event.start_time.strftime('%H:%M') %> +
+
+ <%= render partial: 'event', locals: {event: event} %> +
+ <% else %> +
+ <%= render partial: 'event', locals: {event: event} %> +
+ <% end %> + <% end %> +
diff --git a/app/views/conference/_event.html.haml b/app/views/conference/_event.html.haml new file mode 100644 index 00000000..c556a9f1 --- /dev/null +++ b/app/views/conference/_event.html.haml @@ -0,0 +1,33 @@ +%a.unstyled-link{href: url_for(conference_program_proposal_path(@conference.short_title, event.id))} + .panel.panel-default + .panel-body + - if speaker = event.speakers.first + = image_tag speaker.gravatar_url, :class => "img-circle pull-right all-speaker-pic", | + :alt => speaker.name, | + :title => speaker.name | + %span.h3 + = event.title + %br + %small + = event.subtitle + %h4 + presented by #{event.speaker_names} + %p + = truncate(event.abstract, :length => 400) + = link_to 'more', conference_program_proposal_path(@conference.short_title, event.id) if event.abstract.length > 400 + - if event.scheduled? + %span.track + %span.fa.fa-clock-o + %span.label{ style: "background-color: grey" } + = event.start_time.strftime('%H:%M') + \- + = event.end_time.strftime('%H:%M') + %span.track + %span.fa.fa-map-marker + %span.label{ style: "background-color: grey" } + = event.room.name + - if event.track + %span.track + %span.fa.fa-road + %span.label{ style: "background-color: #{event.track.color}" } + = event.track.name