osem-fcy/app/views/admin/events/show.html.haml
snpd 4b3c10f52c Supports talks without speakers
Admins may want to have discussions or any other general activity
that does not have any particular speaker. Thus, speaker validation
is removed.

Closes https://github.com/openSUSE/osem/issues/2520
2019-09-04 17:48:18 +05:30

97 lines
4.5 KiB
Text

.tabbable
%ul.nav.nav-tabs
%li.active
= link_to 'Proposal', '#proposal-content', 'data-toggle' => 'tab'
%li
= link_to 'History', '#history-content', 'data-toggle' => 'tab'
%li
%a{ href: '#proposal-tasks', 'data-toggle' => 'tab' }
Tasks
%span.label.label-danger{ style: 'border-radius: 1em;' }
- progress_status = @event.progress_status
= progress_status.reject{ |_key, value| value || value.nil? }.length
%li
= link_to 'Commercials', '#proposal-commercials', 'data-toggle' => 'tab'
.tab-content
#proposal-content.tab-pane.active
= render 'proposal'
#history-content.tab-pane
.col-md-12
%table.datatable
%thead
%th ID
%th Description
%th Actions
%tbody
- @versions.each do |version|
%tr
%td
= version.id
%td
%p
= link_to_user(version.whodunnit)
- if version.item_type == 'Event'
= event_change_description(version)
= "event #{@event.title}"
- elsif version.item_type == 'Vote'
= vote_change_description(version)
= "event #{@event.title}"
- else
= general_change_description(version)
= link_to 'commercial',
edit_admin_conference_program_event_path(conference_id: @conference.short_title,
id: @event.id, anchor: 'commercials-content')
%small.text-muted
= distance_of_time_in_words(Time.now, version.created_at) + ' ago'
%br
= "(#{version.created_at.strftime('%B %-d, %Y %H:%M')})"
%br
= render partial: 'shared/object_changes', locals: { version: version }
%td
= render partial: 'shared/changelog_actions', locals: { version: version }
#proposal-tasks.tab-pane
- progress_percentage = @event.calculate_progress
.col-md-12
%h3
= @event.title
%br
%table.table.table-hover
%tr
%td= link_to "#{'Speaker'.pluralize(@event.speakers.count)} must be registered to the conference", admin_conference_registrations_path(@event.program.conference.short_title)
%td{ 'class' => class_for_todo(progress_status['registered']) }
%span{ 'class' => [icon_for_todo(progress_status['registered']), 'fa-lg'] }
%tr
%td
- if @event.speakers.count == 1
= link_to 'Fill out speaker\'s biography', edit_admin_user_path(@event.speakers.first)
- elsif @event.speakers.count > 1
Fill out speaker's biography:
= speaker_links(@event)
%td{ 'class' => class_for_todo(progress_status['biographies']) }
%span{ 'class' => [icon_for_todo(progress_status['biographies']), 'fa-lg'] }
%tr
%td= link_to 'Add a subtitle', edit_admin_conference_program_event_path(@event.program.conference.short_title, @event)
%td{ 'class' => class_for_todo(progress_status['subtitle']) }
%span{ 'class' => [icon_for_todo(progress_status['subtitle']), 'fa-lg'] }
%tr
%td= link_to 'Add a commercial', edit_admin_conference_program_event_path(@event.program.conference.short_title, @event, anchor: 'commercials-content')
%td{ 'class' => class_for_todo(progress_status['commercials']) }
%span{ 'class' => [icon_for_todo(progress_status['commercials']), 'fa-lg'] }
- unless progress_status['track'].nil?
%tr
%td= link_to 'Add a track', edit_admin_conference_program_event_path(@event.program.conference.short_title, @event)
%td{ 'class' => class_for_todo(progress_status['track']) }
%span{ 'class' => [icon_for_todo(progress_status['track']), 'fa-lg'] }
%tr
%td= link_to 'Add a difficulty level', edit_admin_conference_program_event_path(@event.program.conference.short_title, @event)
%td{ 'class' => class_for_todo(progress_status['difficulty_level']) }
%span{ 'class' => [icon_for_todo(progress_status['difficulty_level']), 'fa-lg'] }
#proposal-commercials.tab-pane
= render partial: 'shared/media_items', locals: { commercials: @event.commercials }