diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 8237dd95..7d898595 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -522,13 +522,13 @@ module ApplicationHelper def canceled_replacement_event_label(event, event_schedule, *label_classes) if event.state == 'canceled' || event.state == 'withdrawn' content_tag :span, 'CANCELED', class: (['label', 'label-danger'] + label_classes) - elsif event.state == 'confirmed' && event_schedule.present? && (!event_schedule.intersecting_events.canceled.empty? || !event_schedule.intersecting_events.withdrawn.empty?) + elsif event_schedule.present? && event_schedule.replacement? content_tag :span, 'REPLACEMENT', class: (['label', 'label-info'] + label_classes) end end - def replacement_event_notice(event, event_schedule) - if event.state == 'confirmed' && event_schedule.present? && (!event_schedule.intersecting_events.withdrawn.empty? || !event_schedule.intersecting_events.canceled.empty?) + def replacement_event_notice(event_schedule) + if event_schedule.present? && event_schedule.replacement? replaced_event = (event_schedule.intersecting_events.withdrawn.first || event_schedule.intersecting_events.canceled.first).event content_tag :span do concat content_tag :span, 'Please note that this talk replaces ' diff --git a/app/models/event_schedule.rb b/app/models/event_schedule.rb index cb630acd..b83e7c8c 100644 --- a/app/models/event_schedule.rb +++ b/app/models/event_schedule.rb @@ -31,6 +31,10 @@ class EventSchedule < ActiveRecord::Base room.event_schedules.where(start_time: start_time, schedule: schedule).where.not(id: id) end + def replacement? + event.state == 'confirmed' && (!intersecting_events.canceled.empty? || !intersecting_events.withdrawn.empty?) + end + private def conference_id diff --git a/app/views/proposals/show.html.haml b/app/views/proposals/show.html.haml index 8c3413c5..432a5dcd 100644 --- a/app/views/proposals/show.html.haml +++ b/app/views/proposals/show.html.haml @@ -45,7 +45,7 @@ .col-md-12 .lead = canceled_replacement_event_label(@event, @event_schedule) - = replacement_event_notice(@event, @event_schedule) + = replacement_event_notice(@event_schedule) - if @event.commercials.empty? %h5.text-warning diff --git a/app/views/schedules/_event.html.haml b/app/views/schedules/_event.html.haml index 24aaa960..49116e42 100644 --- a/app/views/schedules/_event.html.haml +++ b/app/views/schedules/_event.html.haml @@ -7,7 +7,7 @@ %p = canceled_replacement_event_label(event, event_schedule) - = replacement_event_notice(event, event_schedule) + = replacement_event_notice(event_schedule) %span.h3 = event.title