clarion/app/views/management/events/show.html.slim
2019-05-01 01:48:44 +03:00

152 lines
6.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

- 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')