|
|
|
= row do
|
|
|
|
= columns(medium: 12) do
|
|
|
|
- conference = @this_conference || @conference
|
|
|
|
- if conference.event_locations.blank? && @entire_page
|
|
|
|
.warning-info=_'articles.admin.schedule.no_locations_warning'
|
|
|
|
- else
|
|
|
|
- add_inline_script :schedule if @entire_page
|
|
|
|
#schedule-preview
|
|
|
|
- @schedule.each do |day, data|
|
|
|
|
%h4=date(day, :weekday).html_safe
|
|
|
|
%table.schedule{class: [data[:locations].present? ? 'has-locations' : 'no-locations', "locations-#{data[:num_locations]}"]}
|
|
|
|
- if data[:locations].present? && data[:locations].values.first != :add
|
|
|
|
%thead
|
|
|
|
%tr
|
|
|
|
%th.corner
|
|
|
|
- data[:locations].each do |id, location|
|
|
|
|
%th=location.is_a?(Symbol) ? '' : _!(location.title)
|
|
|
|
%tbody
|
|
|
|
- data[:times].each do |time, time_data|
|
|
|
|
%tr
|
|
|
|
- rowspan = (time_data[:length] * 2).to_i
|
|
|
|
%th=time(time).html_safe
|
|
|
|
- if time_data[:type] == :workshop
|
|
|
|
- data[:locations].each do |id, location|
|
|
|
|
- if time_data[:item][:workshops][id].present?
|
|
|
|
- workshop = time_data[:item][:workshops][id][:workshop]
|
|
|
|
- status = time_data[:item][:workshops][id][:status]
|
|
|
|
- else
|
|
|
|
- workshop = status = nil
|
|
|
|
%td{class: [time_data[:type], workshop.present? ? :filled : :open], rowspan: rowspan, data: workshop.present? ? nil : { block: time_data[:item][:block], day: day, location: id }}
|
|
|
|
- if workshop.present? && workshop.event_location.present?
|
|
|
|
= link_to view_workshop_path(@conference.slug, workshop.id), class: 'event-detail-link' do
|
|
|
|
.details
|
|
|
|
.title=_!workshop.title
|
|
|
|
%template.event-details{data: { href: view_workshop_path(@conference.slug, workshop.id) }}
|
|
|
|
%h1.title=_!workshop.title
|
|
|
|
%p.address
|
|
|
|
= _!("#{workshop.event_location.title}:")
|
|
|
|
= location_link workshop.event_location
|
|
|
|
.workshop-description= richtext workshop.info, 1
|
|
|
|
- if @can_edit
|
|
|
|
= form_tag administration_update_path(conference.slug, @admin_step), class: 'deschedule-workshop' do
|
|
|
|
.status
|
|
|
|
.conflict-score
|
|
|
|
%span.title Conflicts:
|
|
|
|
%span.value="#{status[:conflict_score]} / #{workshop.interested.size}"
|
|
|
|
- if status[:errors].present?
|
|
|
|
.errors
|
|
|
|
- status[:errors].each do |error|
|
|
|
|
.error=_"errors.messages.schedule.#{error[:name].to_s}", vars: error[:i18nVars]
|
|
|
|
= hidden_field_tag :id, workshop.id
|
|
|
|
= button :deschedule, value: :deschedule_workshop, class: [:delete, :small]
|
|
|
|
- elsif @can_edit
|
|
|
|
.title="Block #{time_data[:item][:block] + 1}"
|
|
|
|
- elsif time_data[:type] != :nil
|
|
|
|
%td{class: time_data[:type], rowspan: rowspan, colspan: data[:locations].present? ? data[:locations].size : 1}
|
|
|
|
- case time_data[:type]
|
|
|
|
- when :meal
|
|
|
|
- location = EventLocation.where(id: time_data[:item]['location'].to_i).first
|
|
|
|
- if location.present?
|
|
|
|
%a.event-detail-link
|
|
|
|
.details
|
|
|
|
.title=_!(time_data[:item]['title'])
|
|
|
|
.location=_!location.title
|
|
|
|
%template.event-details
|
|
|
|
%h1.title=_!(time_data[:item]['title'])
|
|
|
|
%p.address
|
|
|
|
= _!("#{location.title}:")
|
|
|
|
= location_link location
|
|
|
|
- when :event
|
|
|
|
- if time_data[:item].event_location.present?
|
|
|
|
%a.event-detail-link
|
|
|
|
.details
|
|
|
|
.title=_!(time_data[:item][:title]) if time_data[:item][:title]
|
|
|
|
.location=_!(time_data[:item].event_location.title)
|
|
|
|
%template.event-details
|
|
|
|
%h1.title=_!(time_data[:item][:title]) if time_data[:item][:title]
|
|
|
|
%p.address
|
|
|
|
= _!("#{time_data[:item].event_location.title}:")
|
|
|
|
= location_link time_data[:item].event_location
|
|
|
|
= richtext time_data[:item][:info], 1
|
|
|
|
- if @entire_page
|
|
|
|
#workshop-selector
|
|
|
|
= form_tag administration_update_path(@this_conference.slug, @admin_step), class: 'workshop-dlg', id: 'workshop-table-form' do
|
|
|
|
%h3 Select a Workshop
|
|
|
|
#table
|