clarion/app/views/management/events/index.html.slim
2017-10-19 16:25:34 +03:00

107 lines
6.3 KiB
Plaintext

- content_for :title
= Event.model_name.human(count: 2).mb_chars.capitalize
.row
.col-lg-12
h1.page-header
= Event.model_name.human(count: 2).mb_chars.titleize
small<
| (
= t '.total', current: @events.count, total: current_conference.events.count
=< Event.model_name.human(count: current_conference.events.count)
| )
.row.visible-sm
.col-xs-12
= link_to t('.filters'), '#filters', aria_expanded: true, aria_controls: 'filters', data: {toggle: 'collapse'}, role: 'button', class: 'btn btn-info'
.row
.col-md-3.collapse#filters
.panel.panel-default
.panel-heading
= EventType.model_name.human.mb_chars.titleize
.panel-body
ul.nav.nav-pills.nav-stacked
= content_tag :li, role: "presentation", class: @filters[:event_type_id].blank? ? 'active' : nil
= link_to management_conference_events_path(current_conference, filters: @filters.except(:event_type_id))
= t '.all'
span.badge.pull-right = current_conference.events.count
- current_conference.event_types.each do |event_type|
= content_tag :li, role: "presentation", class: @filters[:event_type_id].to_i == event_type.id ? 'active' : nil
= link_to management_conference_events_path(current_conference, filters: @filters.merge({event_type_id: event_type.id}))
= event_type.name
span.badge.pull-right = current_conference.events.where(event_type: event_type).count
.panel.panel-default
.panel-heading
= Event.human_attribute_name(:track)
.panel-body
ul.nav.nav-pills.nav-stacked
= content_tag :li, role: "presentation", class: @filters[:track_id].blank? ? 'active' : nil
= link_to management_conference_events_path(current_conference, filters: @filters.except(:track_id))
= t '.all'
span.badge.pull-right = current_conference.events.count
- current_conference.tracks.each do |track|
= content_tag :li, role: "presentation", class: @filters[:track_id] == track.id.to_s ? 'active' : nil
= link_to management_conference_events_path(current_conference, filters: @filters.merge({track_id: track.id}))
= track.name
span.badge.pull-right = current_conference.events.where(track: track).count
.panel.panel-default
.panel-heading
= Event.human_attribute_name(:language)
.panel-body
ul.nav.nav-pills.nav-stacked
= content_tag :li, role: "presentation", class: @filters[:language].blank? ? 'active' : nil
= link_to management_conference_events_path(current_conference, filters: @filters.except(:language))
= t '.all'
span.badge.pull-right = current_conference.events.count
- I18n.available_locales.map(&:to_s).each do |language|
= content_tag :li, role: "presentation", class: @filters[:language] == language ? 'active' : nil
= link_to management_conference_events_path(current_conference, filters: @filters.merge({language: language}))
= t("locales.#{language}")
span.badge.pull-right = current_conference.events.where(language: language).count
.panel.panel-default
.panel-heading
= Proposition.human_attribute_name(:status)
.panel-body
ul.nav.nav-pills.nav-stacked
= content_tag :li, role: "presentation", class: @filters[:status].blank? ? 'active' : nil
= link_to management_conference_events_path(current_conference, filters: @filters.except(:status))
= t '.all'
span.badge.pull-right = current_conference.events.count
- Proposition.statuses.each do |status_name, status_id|
= content_tag :li, role: "presentation", class: @filters[:status] == status_id.to_s ? 'active' : nil
= link_to management_conference_events_path(current_conference, filters: @filters.merge({status: status_id}))
= t "activerecord.attributes.proposition.statuses.#{status_name}"
span.badge.pull-right = current_conference.events.joins(:proposition).where(propositions: {status: status_id}).count
.panel.panel-default
.panel-heading
= Proposition.human_attribute_name(:confirmed)
.panel-body
ul.nav.nav-pills.nav-stacked
= content_tag :li, role: "presentation", class: @filters[:confirmed].blank? && @filters[:not_confirmed].blank? ? 'active' : nil
= link_to management_conference_events_path(current_conference, filters: @filters.except(:confirmed, :not_confirmed))
= t '.all'
span.badge.pull-right = current_conference.events.count
= content_tag :li, role: "presentation", class: @filters[:confirmed].present? ? 'active' : nil
= link_to management_conference_events_path(current_conference, filters: @filters.except(:not_confirmed).merge({confirmed: true}))
= t "activerecord.attributes.proposition.confirmation.confirmed"
span.badge.pull-right = current_conference.events.joins(:proposition).approved.where.not(propositions: {confirmed_at: nil}).count
= content_tag :li, role: "presentation", class: @filters[:not_confirmed].present? ? 'active' : nil
= link_to management_conference_events_path(current_conference, filters: @filters.except(:confirmed).merge({not_confirmed: true}))
= t "activerecord.attributes.proposition.confirmation.not_confirmed"
span.badge.pull-right = current_conference.events.joins(:proposition).approved.where(propositions: {confirmed_at: nil}).count
.col-md-9
.panel.panel-default
table.table.table-striped.table-hover.record-table
thead
tr
th = Event.model_name.human.mb_chars.titleize
th.visible-md.visible-lg.visible-xl = Event.human_attribute_name(:participants)
th.action
= Event.human_attribute_name(:status)
th.actions
tbody
= render(partial: 'event', collection: @events) || render(partial: 'no_records')
.panel-footer.text-right
= link_to management_conference_events_path(current_conference, filters: @filters, format: 'csv'), class: 'btn btn-info'
= icon :download, t('.export')