osem-fcy/app/views/admin/events/show.html.haml
snpd 997dc668e0 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-10-23 14:50:28 +05:30

98 lines
4.6 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
- speakers_count = @event.speakers.count
- if speakers_count == 1
= link_to 'Fill out speaker\'s biography', edit_admin_user_path(@event.speakers.first)
- elsif 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 }