117 lines
5.3 KiB
Text
117 lines
5.3 KiB
Text
- content_for(:title, "#{@procedure.libelle}")
|
||
|
||
#procedure-show
|
||
.accompagnateur-header
|
||
.container.flex
|
||
|
||
.procedure-logo
|
||
- if @procedure.logo.present?
|
||
= image_tag @procedure.logo, alt: "Logo de la procédure"
|
||
|
||
.procedure-header
|
||
%h1= @procedure.libelle
|
||
%ul.tabs
|
||
%li{ class: (@statut == 'a-suivre') ? 'active' : nil }>
|
||
= link_to(procedure_path(@procedure, statut: 'a-suivre')) do
|
||
à suivre
|
||
%span.badge= @a_suivre_dossiers.count
|
||
|
||
%li{ class: (@statut == 'suivis') ? 'active' : nil }>
|
||
- if current_gestionnaire.notifications_for_procedure(@procedure).present?
|
||
%span.notifications{ 'aria-label': 'notifications' }
|
||
= link_to(procedure_path(@procedure, statut: 'suivis')) do
|
||
= t('pluralize.followed', count: @followed_dossiers.count)
|
||
%span.badge= @followed_dossiers.count
|
||
|
||
%li{ class: (@statut == 'traites') ? 'active' : nil }>
|
||
= link_to(procedure_path(@procedure, statut: 'traites')) do
|
||
= t('pluralize.processed', count: @termines_dossiers.count)
|
||
%span.badge= @termines_dossiers.count
|
||
|
||
%li{ class: (@statut == 'tous') ? 'active' : nil }>
|
||
- if current_gestionnaire.notifications_for_procedure(@procedure).present?
|
||
%span.notifications{ 'aria-label': 'notifications' }
|
||
= link_to(procedure_path(@procedure, statut: 'tous')) do
|
||
tous les dossiers
|
||
%span.badge= @all_state_dossiers.count
|
||
|
||
%li{ class: (@statut == 'archives') ? 'active' : nil }>
|
||
= link_to(procedure_path(@procedure, statut: 'archives')) do
|
||
= t('pluralize.archived', count: @archived_dossiers.count)
|
||
%span.badge= @archived_dossiers.count
|
||
|
||
.procedure-actions
|
||
= render partial: "download_dossiers", locals: { procedure: @procedure }
|
||
|
||
.container
|
||
- if @dossiers.present? || @current_filters.count > 0
|
||
%span.button.dropdown
|
||
Filtrer
|
||
.dropdown-content.left-aligned.fade-in-down
|
||
= form_tag add_filter_procedure_path(@procedure), method: :post, class: 'dropdown-form large' do
|
||
= label_tag :field, "Colonne"
|
||
= select_tag :field, options_for_select(@available_fields_to_filters)
|
||
%br
|
||
= label_tag :value, "Valeur"
|
||
= text_field_tag :value
|
||
= hidden_field_tag :statut, @statut
|
||
%br
|
||
= submit_tag "Ajouter le filtre", class: 'button'
|
||
|
||
- @current_filters.each do |filter|
|
||
%span.filter
|
||
= "#{filter['label']} : #{filter['value']}"
|
||
= link_to remove_filter_procedure_path(@procedure, statut: @statut, table: filter['table'], column: filter['column']) do
|
||
%img.close-icon{ src: image_url("close.svg") }
|
||
|
||
%table.table.dossiers-table.hoverable
|
||
%thead
|
||
%tr
|
||
- if @statut == 'suivis' || @statut == 'tous'
|
||
= render partial: "header_field", locals: { field: { "label" => "●", "table" => "notifications", "column" => "notifications" }, classname: "notification-col" }
|
||
- else
|
||
%th.notification-col
|
||
|
||
= render partial: "header_field", locals: { field: { "label" => "Nº dossier", "table" => "self", "column" => "id" }, classname: "number-col" }
|
||
|
||
- @displayed_fields.each do |field|
|
||
= render partial: "header_field", locals: { field: field, classname: "" }
|
||
|
||
= render partial: "header_field", locals: { field: { "label" => "Statut", "table" => "self", "column" => "state" }, classname: "status-col" }
|
||
|
||
%th.follow-col
|
||
%span.button.dropdown
|
||
Personnaliser
|
||
.dropdown-content.fade-in-down
|
||
= form_tag update_displayed_fields_procedure_path(@procedure), method: :patch, class: 'dropdown-form' do
|
||
= select_tag :values,
|
||
options_for_select(@procedure.fields_for_select,
|
||
selected: @displayed_fields_values),
|
||
multiple: true,
|
||
class: 'select2-limited'
|
||
= submit_tag "Enregistrer", class: 'button'
|
||
|
||
%tbody
|
||
- @dossiers.each do |dossier|
|
||
%tr
|
||
%td.folder-col
|
||
.icon.folder
|
||
- if current_gestionnaire.notifications_for_procedure(@procedure).include?(dossier.id)
|
||
%span.notifications{ 'aria-label': 'notifications' }
|
||
|
||
%td.number-col
|
||
= link_to(dossier_path(@procedure, dossier), class: 'cell-link') do
|
||
= dossier.id
|
||
|
||
- @displayed_fields.each do |field|
|
||
%td
|
||
= link_to(dossier_path(@procedure, dossier), class: 'cell-link') do
|
||
= dossier.get_value(field['table'], field['column'])
|
||
|
||
%td.status-col
|
||
= link_to(dossier_path(@procedure, dossier), class: 'cell-link') do
|
||
= render partial: 'status', locals: { dossier: dossier }
|
||
%td.follow-col= render partial: 'dossier_actions', locals: { procedure: @procedure, dossier: dossier, dossier_is_followed: @followed_dossiers_id.include?(dossier.id) }
|
||
= paginate @dossiers
|
||
- else
|
||
%h2.empty-text Aucun dossier
|