Add cancel/replacement labels in All Events

Extract replacement/canceled label & notice logic to helpers

Join replacement/canceled label and notice and move to top
This commit is contained in:
Nishanth Vijayan 2016-07-31 16:23:25 +05:30 committed by Stella Rouzi
parent 2a0e1b5dea
commit 9c7591adcd
4 changed files with 27 additions and 19 deletions

View file

@ -518,4 +518,22 @@ module ApplicationHelper
def link_if_alive(version, link_text, link_url)
version.item ? link_to(link_text, link_url) : link_text
end
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?)
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?)
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 '
concat link_to replaced_event.title, conference_program_proposal_path(@conference.short_title, replaced_event.id)
end
end
end
end