Affichage des zones directement dans le tableau et suppression du nombre d'administrateurs

This commit is contained in:
Kara Diaby 2024-05-21 09:56:50 +00:00
parent de209954e1
commit 47aa3b7d4a
4 changed files with 48 additions and 45 deletions

View file

@ -5,15 +5,23 @@
- params = show_detail ? {} : { show_detail: true } - params = show_detail ? {} : { show_detail: true }
= button_to detail_admin_procedure_path(procedure["id"]), method: :post, params:, title:, class: [icon, "fr-icon--sm fr-mr-1w fr-mb-1w fr-text-action-high--blue-france fr-btn fr-btn--tertiary-no-outline" ] do = button_to detail_admin_procedure_path(procedure["id"]), method: :post, params:, title:, class: [icon, "fr-icon--sm fr-mr-1w fr-mb-1w fr-text-action-high--blue-france fr-btn fr-btn--tertiary-no-outline" ] do
= title = title
%td %td
- if procedure.template - if procedure.template
%p.fr-badge.fr-badge--info.fr-badge--sm= "Modèle DS" %p.fr-badge.fr-badge--info.fr-badge--sm= "Modèle"
%br %abbr{ title: APPLICATION_NAME }= acronymize(APPLICATION_NAME)
= procedure.libelle = procedure.libelle
%td= procedure.id %td= procedure.id
%td= procedure.estimated_dossiers_count %td= procedure.estimated_dossiers_count
%td= procedure.administrateurs.count %td
- if procedure.respond_to?(:parsed_latest_zone_labels)
- procedure.parsed_latest_zone_labels.uniq.each do |zone_label|
%span.mb-2= zone_label
.mb-2
- else
- procedure.zones.uniq.each do |zone|
%span= zone.current_label
.mb-1
%td= t procedure.aasm_state, scope: 'activerecord.attributes.procedure.aasm_state' %td= t procedure.aasm_state, scope: 'activerecord.attributes.procedure.aasm_state'
%td= l(procedure.published_at, format: :message_date_without_time) if procedure.published_at %td= l(procedure.published_at, format: :message_date_without_time) if procedure.published_at
%td %td
@ -21,16 +29,10 @@
= link_to('Cloner', admin_procedure_clone_path(procedure.id, from_new_from_existing: true), 'data-method' => :put, class: 'fr-btn fr-btn--tertiary fr-btn--sm') = link_to('Cloner', admin_procedure_clone_path(procedure.id, from_new_from_existing: true), 'data-method' => :put, class: 'fr-btn fr-btn--tertiary fr-btn--sm')
- if show_detail - if show_detail
%tr.procedure{ id: "procedure_detail_#{procedure.id}" } %tr.procedure{ id: "procedure_detail_#{procedure.id}" }
%td.fr-highlight--beige-gris-galet{ colspan: '8' } %td.fr-highlight--beige-gris-galet{ colspan: '8' }
.fr-container .fr-container
.fr-grid-row
.fr-col-6
- procedure.zones.uniq.each do |zone|
= zone.label_at(procedure.published_or_created_at)
.fr-col-6 .fr-col-6
- procedure.administrateurs.uniq.each do |admin| - procedure.administrateurs.uniq.each do |admin|
= admin.email = admin.email

View file

@ -120,8 +120,8 @@
%use.fr-artwork-major{ href: image_path("pictograms/buildings/school.svg#artwork-major") } %use.fr-artwork-major{ href: image_path("pictograms/buildings/school.svg#artwork-major") }
.fr-fieldset__element .fr-fieldset__element
= f.label :tags, 'Associez les tags à la démarche', class: 'fr-label' = f.label :tags, 'Associez des thématiques à la démarche', class: 'fr-label'
%p.fr-hint-text Les tags sont des mots ou des expressions que vous attribuez aux démarches pour décrire leur contenu et pour les retrouver. Les tags sont partagés avec la communauté, ce qui vous permet de voir les tags attribués aux démarches créées par les autres administrateurs. %p.fr-hint-text Par des mots ou des expressions que vous attribuez aux démarches pour décrire leur contenu et pour les retrouver. Les tags sont partagés avec la communauté, ce qui vous permet de voir les tags attribués aux démarches créées par les autres administrateurs.
= hidden_field_tag 'procedure[tags]', JSON.generate(@procedure.tags) = hidden_field_tag 'procedure[tags]', JSON.generate(@procedure.tags)
= react_component("ComboMultiple", = react_component("ComboMultiple",
id: "procedure_tags_combo", id: "procedure_tags_combo",

View file

@ -57,8 +57,8 @@
%th{ scope: 'col' } %th{ scope: 'col' }
%th{ scope: 'col' } Démarche %th{ scope: 'col' } Démarche
%th{ scope: 'col' } № %th{ scope: 'col' } №
%th{ scope: 'col' } Dossiers %th{ scope: 'col' } Nombre de dossiers
%th{ scope: 'col' } Administrateurs %th{ scope: 'col' } Zones
%th{ scope: 'col' } Statut %th{ scope: 'col' } Statut
%th{ scope: 'col' } Date %th{ scope: 'col' } Date
%th{ scope: 'col' } Action %th{ scope: 'col' } Action

View file

@ -1,6 +1,5 @@
- content_for(:main_navigation) do - content_for(:main_navigation) do
= render 'administrateurs/main_navigation' = render 'administrateurs/main_navigation'
- content_for :content do - content_for :content do
.fr-container .fr-container
%h1.fr-my-4w Toutes les démarches %h1.fr-my-4w Toutes les démarches
@ -25,16 +24,16 @@
= link_to all_admin_procedures_path(zone_ids: current_administrateur.zones), { data: { turbo: 'false' } } do = link_to all_admin_procedures_path(zone_ids: current_administrateur.zones), { data: { turbo: 'false' } } do
%span.fr-icon-arrow-go-back-line Réinitialiser %span.fr-icon-arrow-go-back-line Réinitialiser
%ul %ul
%li.fr-py-2w.fr-pl-2w{ 'data-controller': "expand" } %li.fr-py-2w.fr-pl-2w{ 'data-controller': "expand" }
.fr-mb-1w .fr-mb-1w
%button{ 'data-action': 'expand#toggle' } %button{ 'data-action': 'expand#toggle' }
%span.fr-icon-add-line.fr-icon--sm.fr-mr-1w.fr-text-action-high--blue-france{ 'aria-hidden': 'true', 'data-expand-target': 'icon' } %span.fr-icon-add-line.fr-icon--sm.fr-mr-1w.fr-text-action-high--blue-france{ 'aria-hidden': 'true', 'data-expand-target': 'icon' }
Mes zones Démarches modèles
.fr-ml-1w{ 'data-expand-target': 'content' } .fr-ml-1w.hidden{ 'data-expand-target': 'content' }
= f.collection_check_boxes :zone_ids, @filter.admin_zones, :id, :current_label, include_hidden: false do |b|
.fr-checkbox-group.fr-ml-2w.fr-py-1w .fr-checkbox-group.fr-ml-2w.fr-py-1w
= b.check_box(checked: @filter.zone_filtered?(b.value)) = f.check_box :template, class: 'fr-input'
= b.label(class: 'fr-label') { b.text } = f.label :template, 'Modèle DS', class: 'fr-label'
%li.fr-py-2w.fr-pl-2w{ 'data-controller': "expand" } %li.fr-py-2w.fr-pl-2w{ 'data-controller': "expand" }
.fr-mb-1w .fr-mb-1w
%button{ 'data-action': 'expand#toggle' } %button{ 'data-action': 'expand#toggle' }
@ -45,6 +44,16 @@
.fr-checkbox-group.fr-ml-2w.fr-py-1w .fr-checkbox-group.fr-ml-2w.fr-py-1w
= b.check_box(checked: @filter.zone_filtered?(b.value)) = b.check_box(checked: @filter.zone_filtered?(b.value))
= b.label(class: 'fr-label') { b.text } = b.label(class: 'fr-label') { b.text }
%li.fr-py-2w.fr-pl-2w{ 'data-controller': "expand" }
.fr-mb-1w
%button{ 'data-action': 'expand#toggle' }
%span.fr-icon-add-line.fr-icon--sm.fr-mr-1w.fr-text-action-high--blue-france{ 'aria-hidden': 'true', 'data-expand-target': 'icon' }
Mes zones
.fr-ml-1w.hidden{ 'data-expand-target': 'content' }
= f.collection_check_boxes :zone_ids, @filter.admin_zones, :id, :current_label, include_hidden: false do |b|
.fr-checkbox-group.fr-ml-2w.fr-py-1w
= b.check_box(checked: @filter.zone_filtered?(b.value))
= b.label(class: 'fr-label') { b.text }
%li.fr-py-2w.fr-pl-2w{ 'data-controller': "expand" } %li.fr-py-2w.fr-pl-2w{ 'data-controller': "expand" }
.fr-mb-1w .fr-mb-1w
%button{ 'data-action': 'expand#toggle' } %button{ 'data-action': 'expand#toggle' }
@ -65,6 +74,16 @@
{ selected: @filter.service_departement, include_blank: ''}, { selected: @filter.service_departement, include_blank: ''},
id: "service_dep_select", id: "service_dep_select",
class: 'fr-select' class: 'fr-select'
%li.fr-py-2w.fr-pl-2w{ 'data-controller': "expand" }
.fr-mb-1w
%button{ 'data-action': 'expand#toggle' }
%span.fr-icon-add-line.fr-icon--sm.fr-mr-1w.fr-text-action-high--blue-france{ 'aria-hidden': 'true', 'data-expand-target': 'icon' }
Type d'usager
.fr-ml-1w.hidden{ 'data-expand-target': 'content' }
= f.collection_check_boxes :kind_usagers, ['individual', 'personne_morale'], :to_s, :to_s, include_hidden: false do |b|
.fr-checkbox-group.fr-ml-2w.fr-py-1w
= b.check_box(checked: @filter.kind_usager_filtered?(b.value))
= b.label(class: 'fr-label') { t b.text, scope: 'activerecord.attributes.procedure.kind_usager' }
%li.fr-py-2w{ 'data-controller': "expand" } %li.fr-py-2w{ 'data-controller': "expand" }
.fr-mb-1w.fr-pl-2w .fr-mb-1w.fr-pl-2w
%button{ 'data-action': 'click->expand#toggle' } %button{ 'data-action': 'click->expand#toggle' }
@ -86,39 +105,21 @@
= b.check_box(checked: @filter.status_filtered?(b.value)) = b.check_box(checked: @filter.status_filtered?(b.value))
= b.label(class: 'fr-label') { t b.text, scope: 'activerecord.attributes.procedure.aasm_state' } = b.label(class: 'fr-label') { t b.text, scope: 'activerecord.attributes.procedure.aasm_state' }
%li.fr-py-2w.fr-pl-2w{ 'data-controller': "expand" } %li.fr-py-2w.fr-pl-2w{ 'data-controller': "expand" }
.fr-mb-1w .fr-mb-1w
%button{ 'data-action': 'expand#toggle' } %button{ 'data-action': 'expand#toggle' }
%span.fr-icon-add-line.fr-icon--sm.fr-mr-1w.fr-text-action-high--blue-france{ 'aria-hidden': 'true', 'data-expand-target': 'icon' } %span.fr-icon-add-line.fr-icon--sm.fr-mr-1w.fr-text-action-high--blue-france{ 'aria-hidden': 'true', 'data-expand-target': 'icon' }
Type d'usager Thématique
.fr-ml-1w.hidden{ 'data-expand-target': 'content' }
= f.collection_check_boxes :kind_usagers, ['individual', 'personne_morale'], :to_s, :to_s, include_hidden: false do |b|
.fr-checkbox-group.fr-ml-2w.fr-py-1w
= b.check_box(checked: @filter.kind_usager_filtered?(b.value))
= b.label(class: 'fr-label') { t b.text, scope: 'activerecord.attributes.procedure.kind_usager' }
%li.fr-py-2w.fr-pl-2w{ 'data-controller': "expand" }
.fr-mb-1w
%button{ 'data-action': 'expand#toggle' }
%span.fr-icon-add-line.fr-icon--sm.fr-mr-1w.fr-text-action-high--blue-france{ 'aria-hidden': 'true', 'data-expand-target': 'icon' }
Tags
.fr-ml-1w.hidden{ 'data-expand-target': 'content' } .fr-ml-1w.hidden{ 'data-expand-target': 'content' }
%div %div
= f.search_field :tags, placeholder: 'Choisissez un tag', list: 'tags_list', class: 'fr-input', data: { no_autosubmit: 'input', turbo_force: :server }, multiple: true = f.search_field :tags, placeholder: 'Choisissez un thème', list: 'tags_list', class: 'fr-input', data: { no_autosubmit: 'input', turbo_force: :server }, multiple: true
%datalist#tags_list %datalist#tags_list
- Procedure.tags.each do |tag| - Procedure.tags.each do |tag|
%option{ value: tag } %option{ value: tag }
- if @filter.tags.present? - if @filter.tags.present?
- @filter.tags.each do |tag| - @filter.tags.each do |tag|
= f.hidden_field :tags, value: tag, multiple: true, id: "tag-#{tag.tr(' ', '_')}" = f.hidden_field :tags, value: tag, multiple: true, id: "tag-#{tag.tr(' ', '_')}"
%li.fr-py-2w.fr-pl-2w{ 'data-controller': "expand" }
.fr-mb-1w
%button{ 'data-action': 'expand#toggle' }
%span.fr-icon-add-line.fr-icon--sm.fr-mr-1w.fr-text-action-high--blue-france{ 'aria-hidden': 'true', 'data-expand-target': 'icon' }
Démarches modèles
.fr-ml-1w.hidden{ 'data-expand-target': 'content' }
.fr-checkbox-group.fr-ml-2w.fr-py-1w
= f.check_box :template, class: 'fr-input'
= f.label :template, 'Modèle DS', class: 'fr-label'
.fr-col-9 .fr-col-9
= yield(:results) = yield(:results)