2017-11-17 23:40:51 +01:00
|
|
|
|
- content_for(:title, "#{@procedure.libelle}")
|
|
|
|
|
|
2017-07-11 16:09:03 +02:00
|
|
|
|
#procedure-show
|
2018-04-23 17:22:20 +02:00
|
|
|
|
.sub-header
|
2017-07-18 15:12:55 +02:00
|
|
|
|
.container.flex
|
2017-07-11 16:09:03 +02:00
|
|
|
|
|
2017-12-05 11:16:16 +01:00
|
|
|
|
.procedure-logo{ style: @procedure.logo.present? ? "background-image: url(#{@procedure.logo.url})" : nil,
|
2018-09-05 14:48:42 +02:00
|
|
|
|
role: 'img', 'aria-label': "logo de la démarche #{@procedure.libelle}" }
|
2017-09-14 10:11:45 +02:00
|
|
|
|
|
|
|
|
|
.procedure-header
|
2018-08-14 15:17:22 +02:00
|
|
|
|
%h1= procedure_libelle @procedure
|
2018-08-16 16:30:55 +02:00
|
|
|
|
|
2017-08-28 10:52:25 +02:00
|
|
|
|
%ul.tabs
|
2018-08-16 16:30:55 +02:00
|
|
|
|
= tab_item('à suivre',
|
|
|
|
|
gestionnaire_procedure_path(@procedure, statut: 'a-suivre'),
|
|
|
|
|
active: @statut == 'a-suivre',
|
|
|
|
|
badge: @a_suivre_dossiers.count)
|
|
|
|
|
|
|
|
|
|
= tab_item(t('pluralize.followed', count: @followed_dossiers.count),
|
|
|
|
|
gestionnaire_procedure_path(@procedure, statut: 'suivis'),
|
|
|
|
|
active: @statut == 'suivis',
|
|
|
|
|
badge: @followed_dossiers.count,
|
|
|
|
|
notification: current_gestionnaire.notifications_for_procedure(@procedure).present?)
|
|
|
|
|
|
|
|
|
|
= tab_item(t('pluralize.processed', count: @termines_dossiers.count),
|
|
|
|
|
gestionnaire_procedure_path(@procedure, statut: 'traites'),
|
|
|
|
|
active: @statut == 'traites',
|
|
|
|
|
badge: @termines_dossiers.count,
|
|
|
|
|
notification: current_gestionnaire.notifications_for_procedure(@procedure, :termine).present?)
|
|
|
|
|
|
|
|
|
|
= tab_item('tous les dossiers',
|
|
|
|
|
gestionnaire_procedure_path(@procedure, statut: 'tous'),
|
|
|
|
|
active: @statut == 'tous',
|
|
|
|
|
badge: @all_state_dossiers.count)
|
|
|
|
|
|
|
|
|
|
= tab_item(t('pluralize.archived', count: @archived_dossiers.count),
|
|
|
|
|
gestionnaire_procedure_path(@procedure, statut: 'archives'),
|
|
|
|
|
active: @statut == 'archives',
|
|
|
|
|
badge: @archived_dossiers.count)
|
2017-07-11 15:40:09 +02:00
|
|
|
|
|
2017-09-15 14:46:17 +02:00
|
|
|
|
.procedure-actions
|
2017-11-21 18:00:02 +01:00
|
|
|
|
= render partial: "download_dossiers", locals: { procedure: @procedure }
|
2017-09-15 14:46:17 +02:00
|
|
|
|
|
2017-07-11 15:40:09 +02:00
|
|
|
|
.container
|
2017-09-28 11:04:18 +02:00
|
|
|
|
- if @dossiers.present? || @current_filters.count > 0
|
2018-09-11 17:51:44 +02:00
|
|
|
|
%span.dropdown
|
|
|
|
|
%button.button.dropdown-button
|
|
|
|
|
Filtrer
|
2017-09-28 11:04:18 +02:00
|
|
|
|
.dropdown-content.left-aligned.fade-in-down
|
2018-02-21 13:42:11 +01:00
|
|
|
|
= form_tag add_filter_gestionnaire_procedure_path(@procedure), method: :post, class: 'dropdown-form large' do
|
2017-09-28 11:04:18 +02:00
|
|
|
|
= 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'
|
|
|
|
|
|
2019-03-04 18:07:47 +01:00
|
|
|
|
- @current_filters.group_by { |filter| filter['table'] }.each_with_index do |(table, filters), i|
|
|
|
|
|
- if i > 0
|
|
|
|
|
et
|
|
|
|
|
- filters.each_with_index do |filter, i|
|
|
|
|
|
- if i > 0
|
|
|
|
|
ou
|
|
|
|
|
%span.filter
|
|
|
|
|
= link_to remove_filter_gestionnaire_procedure_path(@procedure, statut: @statut, table: filter['table'], column: filter['column'], value: filter['value']) do
|
|
|
|
|
%img.close-icon{ src: image_url("close.svg") }
|
|
|
|
|
= "#{filter['label'].truncate(50)} : #{filter['value']}"
|
2017-07-31 15:01:26 +02:00
|
|
|
|
%table.table.dossiers-table.hoverable
|
|
|
|
|
%thead
|
2017-07-11 15:40:09 +02:00
|
|
|
|
%tr
|
2017-11-01 20:40:33 +01:00
|
|
|
|
- if @statut == 'suivis' || @statut == 'tous'
|
|
|
|
|
= render partial: "header_field", locals: { field: { "label" => "●", "table" => "notifications", "column" => "notifications" }, classname: "notification-col" }
|
|
|
|
|
- else
|
|
|
|
|
%th.notification-col
|
|
|
|
|
|
2017-09-25 10:46:09 +02:00
|
|
|
|
= render partial: "header_field", locals: { field: { "label" => "Nº dossier", "table" => "self", "column" => "id" }, classname: "number-col" }
|
2017-10-02 17:03:38 +02:00
|
|
|
|
|
2018-10-03 14:46:12 +02:00
|
|
|
|
- @procedure_presentation.displayed_fields.each do |field|
|
2017-09-25 10:46:09 +02:00
|
|
|
|
= render partial: "header_field", locals: { field: field, classname: "" }
|
|
|
|
|
|
|
|
|
|
= render partial: "header_field", locals: { field: { "label" => "Statut", "table" => "self", "column" => "state" }, classname: "status-col" }
|
2017-10-02 17:03:38 +02:00
|
|
|
|
|
2019-01-16 15:34:38 +01:00
|
|
|
|
%th.action-col.follow-col
|
2018-09-11 17:51:44 +02:00
|
|
|
|
%span.dropdown
|
|
|
|
|
%button.button.dropdown-button
|
|
|
|
|
Personnaliser
|
2017-10-02 17:03:38 +02:00
|
|
|
|
.dropdown-content.fade-in-down
|
2018-09-10 17:52:29 +02:00
|
|
|
|
= form_tag update_displayed_fields_gestionnaire_procedure_path(@procedure), method: :patch, class: 'dropdown-form columns-form' do
|
2017-10-02 17:03:38 +02:00
|
|
|
|
= select_tag :values,
|
2018-10-03 14:46:12 +02:00
|
|
|
|
options_for_select(@procedure_presentation.fields_for_select,
|
2017-10-02 17:03:38 +02:00
|
|
|
|
selected: @displayed_fields_values),
|
|
|
|
|
multiple: true,
|
|
|
|
|
class: 'select2-limited'
|
|
|
|
|
= submit_tag "Enregistrer", class: 'button'
|
|
|
|
|
|
2017-07-31 15:01:26 +02:00
|
|
|
|
%tbody
|
|
|
|
|
- @dossiers.each do |dossier|
|
|
|
|
|
%tr
|
2017-11-01 20:40:33 +01:00
|
|
|
|
%td.folder-col
|
2018-02-21 14:40:41 +01:00
|
|
|
|
= link_to(gestionnaire_dossier_path(@procedure, dossier), class: 'cell-link') do
|
2018-02-07 20:40:15 +01:00
|
|
|
|
%span.icon.folder
|
2018-02-20 15:53:07 +01:00
|
|
|
|
- if current_gestionnaire.notifications_for_procedure(@procedure, :not_archived).include?(dossier.id)
|
2018-02-07 20:40:15 +01:00
|
|
|
|
%span.notifications{ 'aria-label': 'notifications' }
|
2017-11-01 20:40:33 +01:00
|
|
|
|
|
2017-07-31 15:01:26 +02:00
|
|
|
|
%td.number-col
|
2018-02-21 14:40:41 +01:00
|
|
|
|
= link_to(gestionnaire_dossier_path(@procedure, dossier), class: 'cell-link') do
|
2017-07-31 15:01:26 +02:00
|
|
|
|
= dossier.id
|
2017-10-02 17:03:38 +02:00
|
|
|
|
|
2018-10-05 15:25:24 +02:00
|
|
|
|
- @procedure_presentation.displayed_field_values(dossier).each do |value|
|
2017-10-02 17:03:38 +02:00
|
|
|
|
%td
|
2018-10-10 19:22:59 +02:00
|
|
|
|
/ FIXME: value should automatically fallback to `""` instead of nil
|
|
|
|
|
/ #get_value should call to_s on the champ
|
|
|
|
|
= link_to(value || "", gestionnaire_dossier_path(@procedure, dossier), class: 'cell-link')
|
2017-10-02 17:03:38 +02:00
|
|
|
|
|
2017-07-31 15:01:26 +02:00
|
|
|
|
%td.status-col
|
2018-02-21 14:40:41 +01:00
|
|
|
|
= link_to(gestionnaire_dossier_path(@procedure, dossier), class: 'cell-link') do
|
2018-09-05 11:58:34 +02:00
|
|
|
|
= render partial: 'shared/dossiers/status_badge', locals: { dossier: dossier }
|
2019-01-16 15:34:38 +01:00
|
|
|
|
%td.action-col.follow-col= render partial: 'dossier_actions', locals: { procedure: @procedure, dossier: dossier, dossier_is_followed: @followed_dossiers_id.include?(dossier.id) }
|
2017-09-21 16:47:43 +02:00
|
|
|
|
= paginate @dossiers
|
2017-07-11 15:40:09 +02:00
|
|
|
|
- else
|
2017-09-20 17:07:09 +02:00
|
|
|
|
%h2.empty-text Aucun dossier
|