Extract checking if event is replacement to event_schedule model
This commit is contained in:
parent
e06f51b97e
commit
e3192a9547
4 changed files with 9 additions and 5 deletions
|
|
@ -507,13 +507,13 @@ module ApplicationHelper
|
||||||
def canceled_replacement_event_label(event, event_schedule, *label_classes)
|
def canceled_replacement_event_label(event, event_schedule, *label_classes)
|
||||||
if event.state == 'canceled' || event.state == 'withdrawn'
|
if event.state == 'canceled' || event.state == 'withdrawn'
|
||||||
content_tag :span, 'CANCELED', class: (['label', 'label-danger'] + label_classes)
|
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)
|
content_tag :span, 'REPLACEMENT', class: (['label', 'label-info'] + label_classes)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def replacement_event_notice(event, event_schedule)
|
def replacement_event_notice(event_schedule)
|
||||||
if event.state == 'confirmed' && event_schedule.present? && (!event_schedule.intersecting_events.withdrawn.empty? || !event_schedule.intersecting_events.canceled.empty?)
|
if event_schedule.present? && event_schedule.replacement?
|
||||||
replaced_event = (event_schedule.intersecting_events.withdrawn.first || event_schedule.intersecting_events.canceled.first).event
|
replaced_event = (event_schedule.intersecting_events.withdrawn.first || event_schedule.intersecting_events.canceled.first).event
|
||||||
content_tag :span do
|
content_tag :span do
|
||||||
concat content_tag :span, 'Please note that this talk replaces '
|
concat content_tag :span, 'Please note that this talk replaces '
|
||||||
|
|
|
||||||
|
|
@ -28,4 +28,8 @@ class EventSchedule < ActiveRecord::Base
|
||||||
def intersecting_events
|
def intersecting_events
|
||||||
room.event_schedules.where(start_time: start_time, schedule: schedule).where.not(id: id)
|
room.event_schedules.where(start_time: start_time, schedule: schedule).where.not(id: id)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def replacement?
|
||||||
|
event.state == 'confirmed' && (!intersecting_events.canceled.empty? || !intersecting_events.withdrawn.empty?)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@
|
||||||
.col-md-12
|
.col-md-12
|
||||||
.lead
|
.lead
|
||||||
= canceled_replacement_event_label(@event, @event_schedule)
|
= canceled_replacement_event_label(@event, @event_schedule)
|
||||||
= replacement_event_notice(@event, @event_schedule)
|
= replacement_event_notice(@event_schedule)
|
||||||
|
|
||||||
- if @event.commercials.empty?
|
- if @event.commercials.empty?
|
||||||
%h5.text-warning
|
%h5.text-warning
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
%p
|
%p
|
||||||
= canceled_replacement_event_label(event, event_schedule)
|
= canceled_replacement_event_label(event, event_schedule)
|
||||||
= replacement_event_notice(event, event_schedule)
|
= replacement_event_notice(event_schedule)
|
||||||
|
|
||||||
%span.h3
|
%span.h3
|
||||||
= event.title
|
= event.title
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue