152 lines
6.5 KiB
Plaintext
152 lines
6.5 KiB
Plaintext
- content_for :title
|
||
= t('.review', event_type: @event.event_type.name.mb_chars.downcase, event_title: @event.title)
|
||
|
||
.row
|
||
.col-xs-12
|
||
h1.page-header
|
||
= @event.title
|
||
small<
|
||
= @event.subtitle
|
||
.row
|
||
.col-md-9
|
||
h4
|
||
= t 'events.metadata', type: @event.event_type.name, language: t("locales.#{@event.language}").mb_chars.downcase, length: @event.length
|
||
.col-md-3.text-right
|
||
.heading-actions
|
||
.dropdown>
|
||
button class="btn btn-sm dropdown-toggle btn-#{proposition_status_class(@event.status)}" type="button" data-toggle="dropdown" title="#{t "status.#{@event.status}"}"
|
||
= icon(proposition_status_glyph(@event.status))
|
||
span.caret<
|
||
ul.dropdown-menu
|
||
- Proposition.statuses.each do |(status, _)|
|
||
- next if status == @event.status
|
||
li
|
||
= link_to [:management, @conference, @event.proposition, proposition: {status: status}], method: :patch do
|
||
= proposition_status_icon(status)
|
||
=< t "status.#{status}"
|
||
div.btn-group.btn-group-sm
|
||
= action_buttons(@conference, @event, [:index, :edit])
|
||
.row
|
||
= content_tag :div, class: @conference.has_vote_results? || @conference.has_voting_endpoint? ? 'col-md-9' : 'col-xs-12'
|
||
h3 = Event.human_attribute_name :abstract
|
||
p = simple_format @event.abstract
|
||
|
||
h3 = Event.human_attribute_name :description
|
||
p = simple_format @event.description
|
||
- if @event.notes.present?
|
||
h3 = Event.human_attribute_name :notes
|
||
p = simple_format @event.notes
|
||
- if @conference.has_vote_results? or @conference.has_voting_endpoint?
|
||
.col-md-3
|
||
.panel.panel-info.panel-rank
|
||
.panel-heading
|
||
= t '.rank'
|
||
- if @event.ranked?
|
||
.panel-body
|
||
.row
|
||
.col-xs-3
|
||
.huge
|
||
.label.label-info
|
||
= @event.rank
|
||
.col-xs-9.text-right
|
||
.huge
|
||
= number_to_percentage(@event.per_cent_of_votes, strip_insignificant_zeros: true, precision: 2)
|
||
= t('management.conferences.vote_results.vote_ratio', votes: @event.number_of_votes, total_votes: @conference.number_of_ballots_cast)
|
||
- else
|
||
.panel-body.text-center
|
||
= t 'management.conferences.vote_results.vote_data_never_updated'
|
||
|
||
= link_to update_vote_data_management_conference_path(@conference), method: :patch do
|
||
.panel-footer.text-primary.text-right
|
||
= icon :refresh, t('management.conferences.vote_results.fetch_vote_results')
|
||
|
||
.row
|
||
.col-xs-12
|
||
h3 = Event.human_attribute_name :participants
|
||
= render partial: 'speaker', collection: @event.participants
|
||
|
||
- if @conference.start_date.past? || @event.rated?
|
||
.row
|
||
.col-xs-12
|
||
h3 = Event.human_attribute_name :feedbacks
|
||
- if @event.rated?
|
||
.row
|
||
.col-md-10
|
||
.panel.panel-default
|
||
.panel-heading = t('.comments')
|
||
- if @event.feedbacks_with_comment.size > 0
|
||
table.table.table-striped
|
||
tbody
|
||
= render partial: '/management/shared/feedback', collection: @event.feedbacks_with_comment
|
||
- else
|
||
.panel-body
|
||
= t ('.no_comments_received')
|
||
.col-md-2
|
||
.panel.panel-info
|
||
.panel-heading
|
||
= t '.average_grade'
|
||
.panel-body.text-right
|
||
.huge
|
||
= number_with_precision(@event.average_rating, precision: 2, strip_insignificant_zeros: true) || '–'
|
||
= t('.total_feedback_grades', total_grades: @event.feedbacks.count, count: @event.feedbacks.count)
|
||
- else
|
||
p = t '.no_feedback_received'
|
||
|
||
|
||
- if @conference.has_vote_results? or @conference.has_voting_endpoint?
|
||
.row
|
||
.col-xs-12
|
||
h2
|
||
- if @conference.start_date.future?
|
||
= t '.conflicts'
|
||
- else
|
||
= t '.top_conflicts'
|
||
small< = t '.between_approved_events'
|
||
.panel.panel-default
|
||
table.table.table-striped.table-hover.record-table
|
||
- if @conference.has_vote_results? and @conference.approved_events.count > 2
|
||
thead
|
||
tr
|
||
th.text-right
|
||
= t '.percent'
|
||
th.main
|
||
= Event.model_name.human.mb_chars.capitalize
|
||
th
|
||
tbody
|
||
- if @conference.has_vote_results?
|
||
- if @conference.approved_events.count > 2
|
||
- if @conference.start_date.future?
|
||
- conflict_counts = @event.conflict_counts.where(right_id: @conference.approved_events.pluck(:id)).includes(:right)
|
||
- else
|
||
- conflict_counts = @event.conflict_counts.where(right_id: @conference.approved_events.pluck(:id)).includes(:right).limit(5)
|
||
- conflict_counts.each do |conflict_count|
|
||
- conflict_percent = Rational(conflict_count.number_of_conflicts, @conference.number_of_ballots_cast)
|
||
tr
|
||
td.text-right
|
||
.large
|
||
span.label.label-success data-conflicts="#{conflict_count.number_of_conflicts}" data-most-conflicts="#{@conference.most_conflicts_between_approved_events}" data-least-conflicts="#{@conference.least_conflicts_between_approved_events}"
|
||
= number_to_percentage(conflict_percent * 100, strip_insignificant_zeros: true, precision: 2)
|
||
td
|
||
h4 = conflict_count.right.title
|
||
h5 = conflict_count.right.subtitle
|
||
= links_to_event_participants_for(conflict_count.right)
|
||
|
||
td.actions
|
||
= action_buttons @conference, conflict_count.right, [:show]
|
||
- else
|
||
tr
|
||
td colspan="20"
|
||
= t '.no_approved_events'
|
||
- else
|
||
tr
|
||
td colspan="20"
|
||
= t 'management.conferences.vote_results.vote_data_never_updated'
|
||
= icon :refresh, t('management.conferences.vote_results.fetch_vote_results')
|
||
- if @conference.has_vote_results?
|
||
.panel-footer.text-right
|
||
.btn-group
|
||
= link_to conflicts_management_conference_event_path(@event, conference_id: @conference.id), class: ['btn', 'btn-info'] do
|
||
= icon :percent, t('.conflicts')
|
||
= link_to update_vote_data_management_conference_path(@conference), method: :patch, class: ['btn', 'btn-primary'] do
|
||
= icon :refresh, t('management.conferences.vote_results.fetch_vote_results')
|