- conference = @this_conference || @conference - if conference.event_locations.blank? && @entire_page .warning-info=_'articles.admin.schedule.no_locations_warning' - else - if @entire_page - add_inline_script :schedule = form_tag administration_update_path(conference.slug, :schedule) do - if conference.workshop_schedule_published %p=_'articles.conference_registration.paragraphs.admin.schedule.published', :p .actions= button_tag :un_publish, value: :publish, class: :delete - else %p=_'articles.conference_registration.paragraphs.admin.schedule.un_published', :p .actions= button_tag :publish, value: :publish #schedule-preview - @schedule.each do | day, data | %h4=date(day, :weekday) %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) - 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, :schedule), 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_tag :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] .location= time_data[:item].event_location.title %template.event-details %h1.title=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, :schedule), class: 'workshop-dlg', id: 'workshop-table-form' do %h3 Select a Workshop #table