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:
parent
2a0e1b5dea
commit
9c7591adcd
4 changed files with 27 additions and 19 deletions
|
|
@ -518,4 +518,22 @@ module ApplicationHelper
|
||||||
def link_if_alive(version, link_text, link_url)
|
def link_if_alive(version, link_text, link_url)
|
||||||
version.item ? link_to(link_text, link_url) : link_text
|
version.item ? link_to(link_text, link_url) : link_text
|
||||||
end
|
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
|
end
|
||||||
|
|
|
||||||
|
|
@ -23,11 +23,6 @@
|
||||||
- if can? :schedule, @conference
|
- if can? :schedule, @conference
|
||||||
= link_to "Schedule", conference_schedule_path(@conference.short_title), :class =>"btn btn-success"
|
= link_to "Schedule", conference_schedule_path(@conference.short_title), :class =>"btn btn-success"
|
||||||
|
|
||||||
- if @event.state == 'canceled' || @event.state == 'withdrawn'
|
|
||||||
%span.label.label-danger CANCELED
|
|
||||||
- elsif @event.state == 'confirmed' && @event_schedule.present? && (!@event_schedule.intersecting_events.canceled.empty? || !@event_schedule.intersecting_events.withdrawn.empty?)
|
|
||||||
%span.label.label-info REPLACEMENT
|
|
||||||
|
|
||||||
.row
|
.row
|
||||||
.col-md-3
|
.col-md-3
|
||||||
.speakerinfo
|
.speakerinfo
|
||||||
|
|
@ -48,16 +43,9 @@
|
||||||
.col-md-9
|
.col-md-9
|
||||||
.row
|
.row
|
||||||
.col-md-12
|
.col-md-12
|
||||||
-if @event_schedule.present?
|
.lead
|
||||||
.lead
|
= canceled_replacement_event_label(@event, @event_schedule)
|
||||||
- if @event.state == 'confirmed' && !@event_schedule.intersecting_events.withdrawn.empty?
|
= replacement_event_notice(@event, @event_schedule)
|
||||||
= "Please note that this talk replaces"
|
|
||||||
= link_to @event_schedule.intersecting_events.withdrawn.first.event.title,
|
|
||||||
conference_program_proposal_path(@conference.short_title, @event_schedule.intersecting_events.withdrawn.first.event.id)
|
|
||||||
- elsif @event.state == 'confirmed' && !@event_schedule.intersecting_events.canceled.empty?
|
|
||||||
= "Please note that this talk replaces"
|
|
||||||
= link_to @event_schedule.intersecting_events.canceled.first.title,
|
|
||||||
conference_program_proposal_path(@conference.short_title, @event_schedule.intersecting_events.canceled.first.event.id)
|
|
||||||
|
|
||||||
- if @event.commercials.empty?
|
- if @event.commercials.empty?
|
||||||
%h5.text-warning
|
%h5.text-warning
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,11 @@
|
||||||
= image_tag speaker.gravatar_url, :class => "img-circle pull-right all-speaker-pic", |
|
= image_tag speaker.gravatar_url, :class => "img-circle pull-right all-speaker-pic", |
|
||||||
:alt => speaker.name, |
|
:alt => speaker.name, |
|
||||||
:title => speaker.name |
|
:title => speaker.name |
|
||||||
|
|
||||||
|
%p
|
||||||
|
= canceled_replacement_event_label(event, event_schedule)
|
||||||
|
= replacement_event_notice(event, event_schedule)
|
||||||
|
|
||||||
%span.h3
|
%span.h3
|
||||||
= event.title
|
= event.title
|
||||||
%br
|
%br
|
||||||
|
|
|
||||||
|
|
@ -5,10 +5,7 @@
|
||||||
%div{ class: "elipsis break-words event-title", |
|
%div{ class: "elipsis break-words event-title", |
|
||||||
style: "-webkit-line-clamp: #{ event_lines(@rooms) }; height: #{ event_height(@rooms) }px;"} |
|
style: "-webkit-line-clamp: #{ event_lines(@rooms) }; height: #{ event_height(@rooms) }px;"} |
|
||||||
|
|
||||||
- if event.state == 'canceled' || event.state == 'withdrawn'
|
= canceled_replacement_event_label(event, event_schedule, 'schedule-label')
|
||||||
%span.label.label-danger.schedule-label CANCELED
|
|
||||||
- elsif event.state == 'confirmed' && (!event_schedule.intersecting_events.canceled.empty? || !event_schedule.intersecting_events.withdrawn.empty?)
|
|
||||||
%span.label.label-info.schedule-label REPLACEMENT
|
|
||||||
|
|
||||||
= event.title
|
= event.title
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue