Godwin
8 years ago
5 changed files with 126 additions and 101 deletions
@ -1,85 +1,86 @@ |
|||
= 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) |
|||
%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 |
|||
= 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) |
|||
%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 | |
|||
- 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_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 |
|||
%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= time_data[:item]['title'] |
|||
.location= location.title |
|||
%template.event-details |
|||
%h1.title=time_data[:item]['title'] |
|||
.title=workshop.title |
|||
%template.event-details{data: { href: view_workshop_path(@conference.slug, workshop.id) }} |
|||
%h1.title=workshop.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, @admin_step), class: 'workshop-dlg', id: 'workshop-table-form' do |
|||
%h3 Select a Workshop |
|||
#table |
|||
= 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_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, @admin_step), class: 'workshop-dlg', id: 'workshop-table-form' do |
|||
%h3 Select a Workshop |
|||
#table |
|||
|
Loading…
Reference in new issue