Extract checking if event is replacement to event_schedule model

This commit is contained in:
Nishanth Vijayan 2016-08-15 17:17:57 +05:30 committed by Stella Rouzi
parent 9c7591adcd
commit 5111d9e937
4 changed files with 9 additions and 5 deletions

View file

@ -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 '

View file

@ -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

View file

@ -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

View file

@ -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