Fixed bugs, restyled pages, and added instructions for admin pages
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
%ul.locales
|
||||
- @alt_lang_urls.each do |locale, url|
|
||||
%li
|
||||
- locale_translation = language(locale, true)
|
||||
- locale_translation = language_name(locale, true)
|
||||
%a.button{href: url, lang: locale}
|
||||
=_'translate.content.change_locale', "Read in #{locale_translation}", vars: {language: locale_translation}, locale: locale
|
||||
%h2= _'error.locale_not_available.volunteer.title'
|
||||
|
||||
@@ -2,4 +2,5 @@
|
||||
= admin_menu
|
||||
= columns(medium: 9, large: 10) do
|
||||
%h3.subtitle=_("menu.submenu.admin.#{@admin_step.titlecase.gsub(/\s/, '_')}")
|
||||
%p=(_"articles.admin.#{@admin_step.gsub(/\s/, '_')}.description", :p) unless @hide_description === true
|
||||
%div{id: "admin-#{@admin_step}"}= render "conferences/admin/#{@admin_step}"
|
||||
|
||||
@@ -1,36 +1,42 @@
|
||||
- if @events.present?
|
||||
%ul.events.admin-blocks
|
||||
- @events.each do | event |
|
||||
%li
|
||||
%h4.title=event.title
|
||||
.details
|
||||
= data_set(:h5, 'forms.labels.generic.event_location', class: :location) do
|
||||
=event.event_location.present? ? event.event_location.title : ''
|
||||
= data_set(:h5, 'forms.labels.generic.day', class: :day) do
|
||||
= date(event.start_time.to_date, :weekday)
|
||||
= data_set(:h5, 'forms.labels.generic.time', class: :time) do
|
||||
= time(event.start_time, :short)
|
||||
= data_set(:h5, 'forms.labels.generic.time_span', class: 'time-span') do
|
||||
= hours(event.start_time, event.end_time)
|
||||
= form_tag administration_update_path(@this_conference.slug, :events), class: [:actions, :fill] do
|
||||
= hidden_field_tag :id, event.id
|
||||
= button_with_confirmation :delete, (_'modals.admin.generic.delete.confirm', :p, vars: { title: event.title }), value: :delete, class: [:delete, :small]
|
||||
= button_tag :edit, value: :edit, class: [:small]
|
||||
|
||||
%h4=_"articles.admin.locations.headings.#{@event.id.present? ? 'edit' : 'add'}_event", :t
|
||||
= form_tag administration_update_path(@this_conference.slug, :events) do
|
||||
= hidden_field_tag :id, @event.id if @event.id.present?
|
||||
= textfield :title, @event.title!, required: true, big: true, lang: @event.locale
|
||||
= textarea :info, @event.info!, heading: 'articles.conference_registration.headings.admin.edit.info', help: 'articles.conference_registration.paragraphs.admin.edit.info', lang: @event.locale, edit_on: :focus
|
||||
.flex-inputs
|
||||
= location_select @event.event_location_id, small: true, stretch: true
|
||||
= day_select @day, small: true, format: :weekday
|
||||
= time_select @time, small: true
|
||||
= length_select @length, small: true
|
||||
- I18n.backend.enabled_locales.each do | locale |
|
||||
- if locale.to_s != @event.locale.to_s
|
||||
= textfield "title_translations[#{locale.to_s}]", @event._title(locale), big: true, heading: 'translate.pages.Locale_Translation', vars: { language: _("languages.#{locale}") }, label: 'forms.labels.generic.title', lang: locale
|
||||
= textarea "info_translations[#{locale.to_s}]", @event._info(locale), lang: locale, label: 'forms.labels.generic.info', edit_on: :focus
|
||||
.actions.next-prev
|
||||
= button_tag :save, value: :save
|
||||
= button_tag :cancel, value: :cancel, class: :subdued, formnovalidate: true if @event.id.present?
|
||||
- if @this_conference.event_locations.blank?
|
||||
.warning-info=_'articles.admin.events.no_locations_warning'
|
||||
- else
|
||||
- if @events.present?
|
||||
%table.events.admin-edit
|
||||
%tr
|
||||
%th=_'forms.labels.generic.title'
|
||||
%th=_'forms.labels.generic.event_location'
|
||||
%th=_'forms.labels.generic.day'
|
||||
%th=_'forms.labels.generic.time'
|
||||
%th=_'forms.labels.generic.time_span'
|
||||
%th.form
|
||||
- @events.each do | event |
|
||||
%tr
|
||||
%th=event.title
|
||||
%td=_!(event.event_location.present? ? event.event_location.title : '')
|
||||
%td=date(event.start_time.to_date, :weekday)
|
||||
%td=time(event.start_time, :short)
|
||||
%td=hours(event.start_time, event.end_time)
|
||||
%td.form
|
||||
= form_tag administration_update_path(@this_conference.slug, :events) do
|
||||
= hidden_field_tag :id, event.id
|
||||
= button_tag :edit, value: :edit, class: :small
|
||||
= button_with_confirmation :delete, (_'modals.admin.generic.delete.confirm', :p, vars: { title: event.title }), value: :delete, class: [:delete, :small]
|
||||
|
||||
%h4=_"articles.admin.locations.headings.#{@event.id.present? ? 'edit' : 'add'}_event", :t
|
||||
= form_tag administration_update_path(@this_conference.slug, :events) do
|
||||
= hidden_field_tag :id, @event.id if @event.id.present?
|
||||
= textfield :title, @event.title!, required: true, big: true, lang: @event.locale
|
||||
= textarea :info, @event.info!, heading: 'articles.conference_registration.headings.admin.edit.info', help: 'articles.conference_registration.paragraphs.admin.events.info', lang: @event.locale, edit_on: :focus
|
||||
.flex-inputs
|
||||
= location_select @event.event_location_id, small: true, stretch: true
|
||||
= day_select @day, small: true, format: :weekday
|
||||
= time_select @time, small: true
|
||||
= length_select @length, small: true
|
||||
- I18n.backend.enabled_locales.each do | locale |
|
||||
- if locale.to_s != @event.locale.to_s
|
||||
= textfield "title_translations[#{locale.to_s}]", @event._title(locale), big: true, heading: 'translate.pages.Locale_Translation', vars: { language: _("languages.#{locale}") }, label: 'forms.labels.generic.title', lang: locale
|
||||
= textarea "info_translations[#{locale.to_s}]", @event._info(locale), lang: locale, label: 'forms.labels.generic.info', edit_on: :focus
|
||||
.actions.next-prev
|
||||
= button_tag :save, value: :save
|
||||
= button_tag :cancel, value: :cancel, class: :subdued, formnovalidate: true if @event.id.present?
|
||||
|
||||
@@ -1,32 +1,34 @@
|
||||
- unless @location.present?
|
||||
%ul.locations.admin-blocks
|
||||
- @locations.each do | location |
|
||||
%li
|
||||
%h4.title=location.title
|
||||
.details
|
||||
= data_set(:h5, 'forms.labels.generic.address', class: :address) do
|
||||
=location.address
|
||||
= data_set(:h5, 'articles.workshops.headings.space', class: :space) do
|
||||
= _"workshop.options.space.#{location.space}"
|
||||
- amenities = location.amenities.present? ? JSON.parse(location.amenities) : []
|
||||
- if amenities.present?
|
||||
= data_set(:h5, 'articles.admin.locations.headings.amenities', class: :amenities) do
|
||||
%ul.amenities
|
||||
- amenities.each do | amenity |
|
||||
%li=_"workshop.options.needs.#{amenity}"
|
||||
= form_tag administration_update_path(@this_conference.slug, :locations), class: [:actions, :fill] do
|
||||
= hidden_field_tag :id, location.id
|
||||
= button_tag :edit, value: :edit, class: :small
|
||||
= button_with_confirmation :delete, (_'modals.admin.generic.delete.confirm', :p, vars: { title: location.title }), value: :delete, class: [:delete, :small]
|
||||
- if @locations.present?
|
||||
%table.locations.admin-edit
|
||||
%tr
|
||||
%th=_'forms.labels.generic.title'
|
||||
%th=_'forms.labels.generic.address'
|
||||
%th=_'articles.workshops.headings.space'
|
||||
%th=_'articles.admin.locations.headings.amenities'
|
||||
%th.form
|
||||
- @locations.each do | location |
|
||||
%tr
|
||||
%th=_!(location.title || '')
|
||||
%td=location_link location
|
||||
%td=location.space.present? ? (_"workshop.options.space.#{location.space}") : ''
|
||||
%td
|
||||
- amenities = location.amenities.present? ? JSON.parse(location.amenities) : []
|
||||
=_!(amenities.collect { |amenity| _"workshop.options.needs.#{amenity}" }).join(', ')
|
||||
%td.form
|
||||
= form_tag administration_update_path(@this_conference.slug, :locations) do
|
||||
= hidden_field_tag :id, location.id
|
||||
= button_tag :edit, value: :edit, class: :small
|
||||
= button_with_confirmation :delete, (_'modals.admin.generic.delete.confirm', :p, vars: { title: location.title }), value: :delete, class: [:delete, :small]
|
||||
%h4=_"articles.admin.locations.headings.#{@location.present? ? 'edit' : 'add'}_location", :t
|
||||
= form_tag administration_update_path(@this_conference.slug, :locations) do
|
||||
= hidden_field_tag :id, @location.id if @location.present?
|
||||
= textfield :title, @location.present? ? @location.title : nil, required: true, big: true
|
||||
= textfield :address, @location.present? ? @location.address : nil, required: true
|
||||
= textfield :title, @location.present? ? @location.title : nil, required: true, big: true, help: 'articles.admin.locations.paragraphs.title'
|
||||
= textfield :address, @location.present? ? @location.address : nil, required: true, help: 'articles.admin.locations.paragraphs.address'
|
||||
= columns(medium: 6) do
|
||||
= radiobuttons :space, EventLocation.all_spaces, @location.present? ? @location.space : nil, 'workshop.options.space', vertical: true, heading: 'articles.workshops.headings.space'
|
||||
= radiobuttons :space, EventLocation.all_spaces, @location.present? ? @location.space : nil, 'workshop.options.space', vertical: true, heading: 'articles.workshops.headings.space', required: true, help: 'articles.admin.locations.paragraphs.space'
|
||||
= columns(medium: 6) do
|
||||
= checkboxes :needs, EventLocation.all_amenities, @location.present? ? JSON.parse(@location.amenities) : [], 'workshop.options.needs', vertical: true, heading: 'articles.admin.locations.headings.amenities'
|
||||
= checkboxes :needs, EventLocation.all_amenities, @location.present? ? JSON.parse(@location.amenities) : [], 'workshop.options.needs', vertical: true, heading: 'articles.admin.locations.headings.amenities', help: 'articles.admin.locations.paragraphs.amenities'
|
||||
.actions.next-prev
|
||||
- if @location.present?
|
||||
= button_tag :save, value: :save
|
||||
|
||||
@@ -1,30 +1,34 @@
|
||||
- if @this_conference.meals.present?
|
||||
%table.meals
|
||||
%tr
|
||||
%th=_'forms.labels.generic.title'
|
||||
%th=_'forms.labels.generic.info'
|
||||
%th=_'forms.labels.generic.event_location'
|
||||
%th=_'forms.labels.generic.day'
|
||||
%th=_'forms.labels.generic.time'
|
||||
%th.form
|
||||
- @meals.each do | time, meal |
|
||||
- if @this_conference.event_locations.present?
|
||||
- if @this_conference.meals.present?
|
||||
%table.meals.admin-edit
|
||||
%tr
|
||||
%th
|
||||
=_!(meal['title'] || '')
|
||||
%td=_!(meal['info'] || '')
|
||||
%td=_!location_name(meal['location'].to_i)
|
||||
%td=date(meal['day'], :weekday)
|
||||
%td=time(meal['time'].to_f)
|
||||
%td.form
|
||||
= form_tag administration_update_path(@this_conference.slug, :meals) do
|
||||
= hidden_field_tag :meal, time
|
||||
= button_tag :delete, value: :delete, class: [:small, :delete]
|
||||
= form_tag administration_update_path(@this_conference.slug, :meals) do
|
||||
.flex-inputs
|
||||
= location_select nil, small: true, stretch: true
|
||||
= day_select nil, small: true, format: :weekday
|
||||
= time_select nil, small: true
|
||||
= textfield :title, nil, required: true, big: true
|
||||
= textfield :info, nil
|
||||
.actions.next-prev
|
||||
= button_tag :add_meal, value: :add_meal
|
||||
%th=_'forms.labels.generic.title'
|
||||
%th=_'forms.labels.generic.info'
|
||||
%th=_'forms.labels.generic.event_location'
|
||||
%th=_'forms.labels.generic.day'
|
||||
%th=_'forms.labels.generic.time'
|
||||
%th.form
|
||||
- @meals.each do | time, meal |
|
||||
%tr
|
||||
%th
|
||||
=_!(meal['title'] || '')
|
||||
%td=_!(meal['info'] || '')
|
||||
%td=_!location_name(meal['location'].to_i)
|
||||
%td=date(meal['day'], :weekday)
|
||||
%td=time(meal['time'].to_f)
|
||||
%td.form
|
||||
= form_tag administration_update_path(@this_conference.slug, :meals) do
|
||||
= hidden_field_tag :meal, time
|
||||
= button_tag :delete, value: :delete, class: [:small, :delete]
|
||||
= form_tag administration_update_path(@this_conference.slug, :meals) do
|
||||
%h4=_'articles.admin.locations.headings.add_meal', :t
|
||||
.flex-inputs
|
||||
= location_select nil, small: true, stretch: true
|
||||
= day_select nil, small: true, format: :weekday
|
||||
= time_select nil, small: true
|
||||
= textfield :title, nil, required: true, big: true, help: 'articles.admin.locations.paragraphs.meal_title'
|
||||
= textfield :info, nil, help: 'articles.admin.locations.paragraphs.meal_info'
|
||||
.actions.next-prev
|
||||
= button_tag :add_meal, value: :add_meal
|
||||
- else
|
||||
.warning-info=_'articles.admin.meals.no_locations_warning'
|
||||
@@ -1,134 +1,136 @@
|
||||
- conference = @this_conference || @conference
|
||||
- if @entire_page
|
||||
= 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[:locations].size}"]}
|
||||
- if data[:locations].present?
|
||||
%thead
|
||||
%tr
|
||||
%th.corner
|
||||
- data[:locations].each do | id, location |
|
||||
%th=location.title
|
||||
%th.status
|
||||
%tbody
|
||||
- data[:times].each do | time, time_data |
|
||||
%tr
|
||||
- rowspan = (time_data[:length] * 2).to_i
|
||||
%th=time(time)
|
||||
- if time_data[:type] == :workshop
|
||||
- if time_data[:item][:workshops].present?
|
||||
- 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 : nil], rowspan: rowspan}
|
||||
- if workshop.present?
|
||||
= link_to off_screen(workshop.title), view_workshop_path(@conference.slug, workshop.id), class: 'event-detail-link'
|
||||
%template.event-details{data: { href: view_workshop_path(@conference.slug, workshop.id) }}
|
||||
%h1.title=workshop.title
|
||||
%p.address
|
||||
= workshop.event_location.title + _!(': ')
|
||||
%a{ href: "http://www.google.com/maps/place/#{workshop.event_location.latitude},#{workshop.event_location.longitude}" }
|
||||
= workshop.event_location.address
|
||||
.workshop-description= richtext workshop.info, 1
|
||||
.title=workshop.title
|
||||
- if @can_edit
|
||||
= form_tag administration_update_path(conference.slug, :schedule), class: 'js-xhr' do
|
||||
.status
|
||||
.conflict-score
|
||||
%span.title Conflict Score:
|
||||
%span.value="#{status[:conflict_score] * 100.0}%"
|
||||
- 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}"
|
||||
- else
|
||||
%td{class: time_data[:type], rowspan: rowspan, colspan: data[:locations].present? ? data[:locations].size : 1}
|
||||
- if @can_edit
|
||||
.title="Block #{time_data[:item][:block] + 1}"
|
||||
%td.status{rowspan: rowspan}
|
||||
- if time_data[:status].present? && time_data[:status][:errors].present?
|
||||
%ul.errors
|
||||
- time_data[:status][:errors].each do | error |
|
||||
%li=error.to_json.to_s
|
||||
- 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
|
||||
%a.event-detail-link=off_screen(time_data[:item]['title'])
|
||||
- location = EventLocation.find(time_data[:item]['location'].to_i)
|
||||
%template.event-details
|
||||
%h1.title=time_data[:item]['title']
|
||||
%p.address
|
||||
= location.title + _!(': ')
|
||||
%a{ href: "http://www.google.com/maps/place/#{location.latitude},#{location.longitude}" }
|
||||
= location.address
|
||||
.title= time_data[:item]['title']
|
||||
.location= location.title
|
||||
- when :event
|
||||
%a.event-detail-link=off_screen(time_data[:item][:title])
|
||||
%template.event-details
|
||||
%h1.title=time_data[:item][:title]
|
||||
%p.address
|
||||
= time_data[:item].event_location.title + _!(': ')
|
||||
%a{ href: "http://www.google.com/maps/place/#{time_data[:item].event_location.latitude},#{time_data[:item].event_location.longitude}" }
|
||||
= time_data[:item].event_location.address
|
||||
= richtext time_data[:item][:info], 1
|
||||
.title= time_data[:item][:title]
|
||||
.location= time_data[:item].event_location.title
|
||||
%td.status{rowspan: rowspan}
|
||||
- if @entire_page
|
||||
%ul.workshops-to-schedule
|
||||
- @workshops.each do | workshop |
|
||||
%li{id: "workshop-#{workshop.id}", class: workshop.block.present? ? 'booked' : 'not-booked'}
|
||||
%h4.title= workshop.title
|
||||
= form_tag administration_update_path(conference.slug, :schedule), class: 'js-xhr' do
|
||||
.already-booked
|
||||
.field-error='This block is already booked'
|
||||
.workshop-description
|
||||
.details
|
||||
= data_set(:h5, 'articles.workshops.headings.interested_count') do
|
||||
= workshop.interested_count
|
||||
= data_set(:h5, 'articles.workshops.headings.facilitators') do
|
||||
- facilitators = []
|
||||
- workshop.active_facilitators.each do | facilitator |
|
||||
- facilitators << facilitator.name
|
||||
= facilitators.join ', '
|
||||
= data_set(:h5, 'articles.workshops.headings.needs') do
|
||||
- needs = []
|
||||
- JSON.parse(workshop.needs || '[]').each do | need |
|
||||
- needs << (_"workshop.options.needs.#{need}")
|
||||
= _!(needs.join ', ')
|
||||
= data_set(:h5, 'articles.workshops.headings.theme') do
|
||||
= workshop.theme.present? ? (_"workshop.options.theme.#{workshop.theme}") : ''
|
||||
= data_set(:h5, 'articles.workshops.headings.space') do
|
||||
= workshop.space.present? ? (_"workshop.options.space.#{workshop.space}") : ''
|
||||
= data_set(:h5, 'forms.labels.generic.info') do
|
||||
= link_info_dlg truncate(workshop.info), (richtext workshop.info.html_safe), workshop.title
|
||||
- if workshop.notes.present? && strip_tags(workshop.notes).length > 0
|
||||
= data_set(:h5, 'forms.labels.generic.notes') do
|
||||
= link_info_dlg truncate(workshop.notes), (richtext workshop.notes.html_safe), workshop.title
|
||||
- if conference.event_locations.blank? && @entire_page
|
||||
.warning-info=_'articles.admin.schedule.no_locations_warning'
|
||||
- else
|
||||
- if @entire_page
|
||||
= 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
|
||||
|
||||
= hidden_field_tag :id, workshop.id
|
||||
.drop-downs
|
||||
= location_select workshop.event_location_id, small: true
|
||||
= block_select workshop.block.present? ? "#{workshop.block['day']}:#{workshop.block['block']}" : nil, small: true
|
||||
.actions.next-prev
|
||||
= button_tag :deschedule, value: :deschedule_workshop, class: [:delete, 'booked-only', :small]
|
||||
= button_tag :reschedule, value: :schedule_workshop, class: [:secondary, 'booked-only', :small]
|
||||
= button_tag :schedule_workshop, value: :schedule_workshop, class: ['not-booked-only', :small]
|
||||
#schedule-preview
|
||||
- @schedule.each do | day, data |
|
||||
%h4=date(day, :weekday)
|
||||
%table.schedule{class: [data[:locations].present? ? 'has-locations' : 'no-locations', "locations-#{data[:locations].size}"]}
|
||||
- if data[:locations].present?
|
||||
%thead
|
||||
%tr
|
||||
%th.corner
|
||||
- data[:locations].each do | id, location |
|
||||
%th=location.title
|
||||
%th.status
|
||||
%tbody
|
||||
- data[:times].each do | time, time_data |
|
||||
%tr
|
||||
- rowspan = (time_data[:length] * 2).to_i
|
||||
%th=time(time)
|
||||
- if time_data[:type] == :workshop
|
||||
- if time_data[:item][:workshops].present?
|
||||
- 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 : nil], rowspan: rowspan}
|
||||
- if workshop.present? && workshop.event_location.present?
|
||||
= link_to off_screen(workshop.title), view_workshop_path(@conference.slug, workshop.id), class: 'event-detail-link'
|
||||
%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
|
||||
.title=workshop.title
|
||||
- if @can_edit
|
||||
= form_tag administration_update_path(conference.slug, :schedule), class: 'js-xhr' do
|
||||
.status
|
||||
.conflict-score
|
||||
%span.title Conflict Score:
|
||||
%span.value="#{status[:conflict_score] * 100.0}%"
|
||||
- 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}"
|
||||
- else
|
||||
%td{class: time_data[:type], rowspan: rowspan, colspan: data[:locations].present? ? data[:locations].size : 1}
|
||||
- if @can_edit
|
||||
.title="Block #{time_data[:item][:block] + 1}"
|
||||
%td.status{rowspan: rowspan}
|
||||
- if time_data[:status].present? && time_data[:status][:errors].present?
|
||||
%ul.errors
|
||||
- time_data[:status][:errors].each do | error |
|
||||
%li=error.to_json.to_s
|
||||
- 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=off_screen(time_data[:item]['title'])
|
||||
%template.event-details
|
||||
%h1.title=time_data[:item]['title']
|
||||
%p.address
|
||||
= location.title + _!(': ')
|
||||
= location_link location
|
||||
.title= time_data[:item]['title']
|
||||
.location= location.title
|
||||
- when :event
|
||||
- if time_data[:item].event_location.present?
|
||||
%a.event-detail-link=off_screen(time_data[:item][: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
|
||||
.title= time_data[:item][:title]
|
||||
.location= time_data[:item].event_location.title
|
||||
%td.status{rowspan: rowspan}
|
||||
- if @entire_page
|
||||
%ul.workshops-to-schedule
|
||||
- @workshops.each do | workshop |
|
||||
%li{id: "workshop-#{workshop.id}", class: workshop.block.present? ? 'booked' : 'not-booked'}
|
||||
%h4.title= workshop.title
|
||||
= form_tag administration_update_path(conference.slug, :schedule), class: 'js-xhr' do
|
||||
.already-booked
|
||||
.field-error='This block is already booked'
|
||||
.workshop-description
|
||||
.details
|
||||
= data_set(:h5, 'articles.workshops.headings.interested_count') do
|
||||
= workshop.interested_count
|
||||
= data_set(:h5, 'articles.workshops.headings.facilitators') do
|
||||
- facilitators = []
|
||||
- workshop.active_facilitators.each do | facilitator |
|
||||
- facilitators << facilitator.name
|
||||
= facilitators.join ', '
|
||||
= data_set(:h5, 'articles.workshops.headings.needs') do
|
||||
- needs = []
|
||||
- JSON.parse(workshop.needs || '[]').each do | need |
|
||||
- needs << (_"workshop.options.needs.#{need}")
|
||||
= _!(needs.join ', ')
|
||||
= data_set(:h5, 'articles.workshops.headings.theme') do
|
||||
= workshop.theme.present? ? (_"workshop.options.theme.#{workshop.theme}") : ''
|
||||
= data_set(:h5, 'articles.workshops.headings.space') do
|
||||
= workshop.space.present? ? (_"workshop.options.space.#{workshop.space}") : ''
|
||||
= data_set(:h5, 'forms.labels.generic.info') do
|
||||
= link_info_dlg truncate(workshop.info), (richtext workshop.info.html_safe), workshop.title
|
||||
- if workshop.notes.present? && strip_tags(workshop.notes).length > 0
|
||||
= data_set(:h5, 'forms.labels.generic.notes') do
|
||||
= link_info_dlg truncate(workshop.notes), (richtext workshop.notes.html_safe), workshop.title
|
||||
|
||||
= hidden_field_tag :id, workshop.id
|
||||
.drop-downs
|
||||
= location_select workshop.event_location_id, small: true
|
||||
= block_select workshop.block.present? ? "#{workshop.block['day']}:#{workshop.block['block']}" : nil, small: true
|
||||
.actions.next-prev
|
||||
= button_tag :deschedule, value: :deschedule_workshop, class: [:delete, 'booked-only', :small]
|
||||
= button_tag :reschedule, value: :schedule_workshop, class: [:secondary, 'booked-only', :small]
|
||||
= button_tag :schedule_workshop, value: :schedule_workshop, class: ['not-booked-only', :small]
|
||||
|
||||
@@ -13,9 +13,9 @@
|
||||
- format_xls 'table' do
|
||||
- workbook use_autowidth: true
|
||||
- format bg_color: '333333'
|
||||
- format 'td', font_name: 'Calibri', bg_color: 'ffffff', fg_color: '333333'
|
||||
- format 'td', font_name: 'Calibri', fg_color: '333333'
|
||||
- format 'th', font_name: 'Calibri', b: true, bg_color: '333333', fg_color: 'ffffff'
|
||||
- format 'td.date', num_fmt: 22, font_name: 'Courier New', sz: 10, bg_color: 'ffffff', fg_color: '333333'
|
||||
- format 'td.date.day', num_fmt: 14, font_name: 'Courier New', sz: 10, bg_color: 'ffffff', fg_color: '333333'
|
||||
- format 'td.money', num_fmt: 2, font_name: 'Courier New', sz: 10, bg_color: 'ffffff', fg_color: '333333'
|
||||
- format 'td.bold', font_name: 'Calibri', bg_color: 'ffffff', fg_color: '333333', b: true
|
||||
- format 'td.date', num_fmt: 22, font_name: 'Courier New', sz: 10, fg_color: '333333'
|
||||
- format 'td.date.day', num_fmt: 14, font_name: 'Courier New', sz: 10, fg_color: '333333'
|
||||
- format 'td.money', num_fmt: 2, font_name: 'Courier New', sz: 10, fg_color: '333333'
|
||||
- format 'td.bold', font_name: 'Calibri', fg_color: '333333', b: true
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
%ul.locales
|
||||
- @alt_lang_urls.each do |locale, url|
|
||||
%li
|
||||
- locale_translation = language(locale, true)
|
||||
- locale_translation = language_name(locale, true)
|
||||
%a{href: url, lang: locale}
|
||||
=_'translate.content.change_locale', "Read in #{locale_translation}", vars: {language: locale_translation}, locale: locale if locale != I18n.locale.to_s
|
||||
.site-info
|
||||
|
||||
Reference in New Issue
Block a user