diff --git a/app/components/dossiers/deleted_dossiers_component/deleted_dossiers_component.html.haml b/app/components/dossiers/deleted_dossiers_component/deleted_dossiers_component.html.haml
index 1fc51132a..d32eac862 100644
--- a/app/components/dossiers/deleted_dossiers_component/deleted_dossiers_component.html.haml
+++ b/app/components/dossiers/deleted_dossiers_component/deleted_dossiers_component.html.haml
@@ -1,6 +1,6 @@
.fr-container
- %h1.fr-h2
+ %h1.fr-h4
Historique des dossiers supprimés
.fr-container
diff --git a/app/helpers/navigation_helper.rb b/app/helpers/navigation_helper.rb
new file mode 100644
index 000000000..870785327
--- /dev/null
+++ b/app/helpers/navigation_helper.rb
@@ -0,0 +1,33 @@
+# frozen_string_literal: true
+
+module NavigationHelper
+ def current_nav_section
+ if procedure_management_section?
+ 'procedure_management'
+ elsif user_support_section?
+ 'user_support'
+ elsif downloads_section?
+ 'downloads'
+ else
+ 'follow_up'
+ end
+ end
+
+ private
+
+ def procedure_management_section?
+ return true if params[:action].in?(['administrateurs', 'stats', 'email_notifications', 'deleted_dossiers'])
+ return true if params[:controller] == 'instructeurs/groupe_instructeurs'
+
+ false
+ end
+
+ def user_support_section?
+ params[:action] == 'email_usagers' || params[:action] == 'apercu'
+ end
+
+ def downloads_section?
+ params[:action] == 'exports' ||
+ params[:controller] == 'instructeurs/archives'
+ end
+end
diff --git a/app/views/instructeurs/_breadcrumbs.html.haml b/app/views/instructeurs/_breadcrumbs.html.haml
new file mode 100644
index 000000000..b5b98fec9
--- /dev/null
+++ b/app/views/instructeurs/_breadcrumbs.html.haml
@@ -0,0 +1,13 @@
+%nav.fr-mb-0.fr-breadcrumb.mt-0{ role: "navigation", aria: { label: t('you_are_here', scope: [:layouts, :breadcrumb]) } }
+ %button.fr-breadcrumb__button{ aria: { expanded: "false", controls: "breadcrumb-1" } }
+ = t('show', scope: [:layouts, :breadcrumb])
+
+ .fr-collapse#breadcrumb-1
+ %ol.fr-breadcrumb__list
+ %li= link_to t('root', scope: [:layouts, :breadcrumb]), root_path, class: 'fr-breadcrumb__link'
+
+ - steps.each.with_index do |step, i|
+ - if i == steps.size - 1
+ %li= link_to step[0], '', { aria: { current: "page" } , class: 'fr-breadcrumb__link' }
+ - else
+ %li= link_to "#{step[0]} - Suivi des dossiers", step[1], class: 'fr-breadcrumb__link'
diff --git a/app/views/instructeurs/archives/index.html.haml b/app/views/instructeurs/archives/index.html.haml
index d6cc4a63b..b8d8560f3 100644
--- a/app/views/instructeurs/archives/index.html.haml
+++ b/app/views/instructeurs/archives/index.html.haml
@@ -1,11 +1,17 @@
- content_for(:title, "Archives pour #{@procedure.libelle}")
-= render partial: 'administrateurs/breadcrumbs',
- locals: { steps: [[@procedure.libelle.truncate_words(10), instructeur_procedure_path(@procedure)],
- ['Archives']] }
+
+
+.sub-header
+ .fr-container.flex.column
+ = render partial: 'instructeurs/breadcrumbs',
+ locals: { steps: [[@procedure.libelle.truncate_words(10), instructeur_procedure_path(@procedure)],
+ [t('instructeurs.dossiers.header.banner.downloads')]] }
+ = render partial: 'instructeurs/procedures/header',
+ locals: { procedure: @procedure }
.container
- %h1.mb-2 Archives
+ %h1.mb-2.fr-h4 Téléchargement mensuel
= render partial: "shared/archives/notice"
= render partial: "shared/archives/table", locals: {count_dossiers_termines_by_month: @count_dossiers_termines_by_month, archives: @archives, average_dossier_weight: @average_dossier_weight, procedure: @procedure }
diff --git a/app/views/instructeurs/groupe_instructeurs/index.html.haml b/app/views/instructeurs/groupe_instructeurs/index.html.haml
index 64b986960..435df6d24 100644
--- a/app/views/instructeurs/groupe_instructeurs/index.html.haml
+++ b/app/views/instructeurs/groupe_instructeurs/index.html.haml
@@ -1,11 +1,16 @@
- content_for(:title, "Notifications pour #{@procedure.libelle}")
-= render partial: 'administrateurs/breadcrumbs',
- locals: { steps: [[@procedure.libelle.truncate_words(10), instructeur_procedure_path(@procedure)],
- ['Groupes d’instructeurs']] }
+.sub-header
+ .fr-container.flex.column
+ = render partial: 'instructeurs/breadcrumbs',
+ locals: { steps: [[@procedure.libelle.truncate_words(10), instructeur_procedure_path(@procedure)],
+ ['Gestion des instructeurs']] }
+
+ = render partial: 'instructeurs/procedures/header',
+ locals: { procedure: @procedure }
.fr-container.groupe-instructeur
- %h1 Gestion des Groupes
+ %h1.fr-h4 Gestion des instructeurs
.card
%h2.fr-h3 Liste des groupes
%table.table.mt-2
diff --git a/app/views/instructeurs/procedures/_header.html.haml b/app/views/instructeurs/procedures/_header.html.haml
index 99ee79e51..ec64a8015 100644
--- a/app/views/instructeurs/procedures/_header.html.haml
+++ b/app/views/instructeurs/procedures/_header.html.haml
@@ -1,36 +1,61 @@
.procedure-header
- .flex.clipboard-container
- %h1.fr-h3
- = "#{procedure_libelle procedure} - n°#{procedure.id}"
- = render Dsfr::CopyButtonComponent.new(title: t('instructeurs.procedures.index.copy_link_button'), text: commencer_url(procedure.path))
- = link_to t('instructeurs.dossiers.header.banner.notification_management'), email_notifications_instructeur_procedure_path(procedure), class: 'header-link'
- |
- = link_to t('instructeurs.dossiers.header.banner.statistics'), stats_instructeur_procedure_path(procedure), class: 'header-link'
+ .clipboard-container
+ %h1.fr-h3.fr-mb-0
+ = "#{procedure_libelle procedure} (n°#{procedure.id})"
+ %nav.fr-nav#navigation{ role: "navigation", "aria-label": t('instructeurs.dossiers.header.banner.procedure_navigation') }
+ %ul.fr-nav__list
+ %li.fr-nav__item
+ = link_to t('instructeurs.dossiers.header.banner.follow_up'), instructeur_procedure_path(procedure), target: "_self", "aria-current": ('page' if current_nav_section == 'follow_up'), class: "fr-nav__link"
- - if current_administrateur&.owns?(procedure)
- |
- = link_to t('instructeurs.dossiers.header.banner.instructeurs'), admin_procedure_groupe_instructeurs_path(procedure), class: 'header-link'
- - elsif procedure.instructeurs_self_management? && procedure.routing_enabled?
- |
- = link_to t('instructeurs.dossiers.header.banner.instructeurs'), instructeur_groupes_path(procedure), class: 'header-link'
- - elsif procedure.instructeurs_self_management?
- |
- = link_to t('instructeurs.dossiers.header.banner.instructeurs'), instructeur_groupe_path(procedure, procedure.defaut_groupe_instructeur), class: 'header-link'
+ %li.fr-nav__item.relative
+ %button.fr-nav__btn{ 'aria-expanded': 'false', 'aria-controls': "menu-procedure", 'aria-current': ('page' if current_nav_section == 'procedure_management') }
+ = t('instructeurs.dossiers.header.banner.procedure_management')
+ #menu-procedure.fr-collapse.fr-menu
+ %ul.fr-menu__list
+ %li
+ = link_to t('instructeurs.dossiers.header.banner.administrators_list'), administrateurs_instructeur_procedure_path(procedure), class: 'fr-nav__link'
- - if can_send_groupe_message?(procedure)
- |
- = link_to t('instructeurs.dossiers.header.banner.contact_users'), email_usagers_instructeur_procedure_path(procedure), class: 'header-link'
+ - if procedure.instructeurs_self_management_enabled?
+ %li
+ = link_to t('instructeurs.dossiers.header.banner.instructeurs'), instructeur_groupes_path(procedure), class: 'fr-nav__link'
+
+ - elsif procedure.administrateurs.exists?(id: current_administrateur&.id)
+ %li
+ = link_to t('instructeurs.dossiers.header.banner.instructeurs'), admin_procedure_groupe_instructeurs_path(procedure), class:
+ %li
+ = link_to t('instructeurs.dossiers.header.banner.notification_management'), email_notifications_instructeur_procedure_path(procedure), class: 'fr-nav__link'
+ %li
+ = link_to t('instructeurs.dossiers.header.banner.statistics'), stats_instructeur_procedure_path(procedure), class: 'fr-nav__link'
+ %li
+ = link_to t('views.instructeurs.dossiers.show_deleted_dossiers'), deleted_dossiers_instructeur_procedure_path(@procedure), class: 'fr-nav__link'
+
+ %li.fr-nav__item.relative
+ %button.fr-nav__btn{ 'aria-expanded': 'false', 'aria-controls': 'menu-support', 'aria-current': ('page' if current_nav_section == 'user_support') }
+ = t('instructeurs.dossiers.header.banner.user_support')
+ #menu-support.fr-collapse.fr-menu
+ %ul.fr-menu__list
+ %li
+ = link_to t('instructeurs.dossiers.header.banner.contact_users'), email_usagers_instructeur_procedure_path(procedure), class: 'fr-nav__link'
+ %li
+ = link_to t('instructeurs.dossiers.header.banner.preview'), apercu_admin_procedure_path(@procedure), target: "_blank", rel: "noopener", class: 'fr-nav__link'
+ %li
+ = link_to "#", class: "fr-nav__link fr-link fr-link--md fr-link--icon-left fr-icon-clipboard-line", data: {controller: "clipboard", clipboard_text_value: commencer_url(@procedure.path), action: "click->clipboard#copy" } do
+ = t('instructeurs.dossiers.header.banner.copy_link_button')
+
+ %li.fr-nav__item.relative
+ %button.fr-nav__btn{ 'aria-expanded': 'false', 'aria-controls': 'menu-downloads', 'aria-current': ('page' if current_nav_section == 'downloads') }
+ = t('instructeurs.dossiers.header.banner.downloads')
+ #menu-downloads.fr-collapse.fr-menu
+ %ul.fr-menu__list
+ %li
+ = link_to t('instructeurs.dossiers.header.banner.exports_list'), exports_instructeur_procedure_path(procedure), class: 'fr-nav__link'
+ %li
+ = link_to t('instructeurs.dossiers.header.banner.archives'), instructeur_archives_path(procedure), class: 'fr-nav__link'
+ %li
+ = link_to t('instructeurs.dossiers.header.banner.exports_models'), exports_instructeur_procedure_path(procedure), class: 'fr-nav__link'
- |
- = link_to t('instructeurs.dossiers.header.banner.administrators_list'), administrateurs_instructeur_procedure_path(procedure), class: 'header-link'
- |
- = link_to t('views.instructeurs.dossiers.show_deleted_dossiers'), deleted_dossiers_instructeur_procedure_path(@procedure), class: "header-link"
- |
- = link_to t('instructeurs.dossiers.header.banner.exports_list'), exports_instructeur_procedure_path(procedure), class: 'header-link'
- if @has_export_notification
%span.notifications{ 'aria-label': t('instructeurs.dossiers.header.banner.exports_notification_label') }
-
-
#last-export-alert
- = render partial: "last_export_alert", locals: { export: @last_export, statut: @statut }
+ = render partial: "instructeurs/procedures/last_export_alert", locals: { export: @last_export, statut: @statut }
diff --git a/app/views/instructeurs/procedures/_tabs.html.haml b/app/views/instructeurs/procedures/_tabs.html.haml
index bfaa2760b..3f556258c 100644
--- a/app/views/instructeurs/procedures/_tabs.html.haml
+++ b/app/views/instructeurs/procedures/_tabs.html.haml
@@ -1,5 +1,5 @@
%nav.fr-tabs.mt-3
- %ul.fr-tabs__list{ role: 'tablist' }
+ %ul.fr-tabs__list.fr-pl-0{ role: 'tablist' }
= tab_item(t(tab_i18n_key_from_status('a-suivre')),
instructeur_procedure_path(procedure, statut: 'a-suivre'),
active: statut == 'a-suivre',
diff --git a/app/views/instructeurs/procedures/administrateurs.html.haml b/app/views/instructeurs/procedures/administrateurs.html.haml
index 09242021f..4af281b0e 100644
--- a/app/views/instructeurs/procedures/administrateurs.html.haml
+++ b/app/views/instructeurs/procedures/administrateurs.html.haml
@@ -1,10 +1,14 @@
- content_for(:title, "Administrateurs de #{@procedure.libelle}")
-= render partial: 'administrateurs/breadcrumbs',
- locals: { steps: [[@procedure.libelle.truncate_words(10), administrateurs_instructeur_procedure_path(@procedure)],['Administrateurs']] }
+.sub-header
+ .fr-container.flex.column
+ = render partial: 'instructeurs/breadcrumbs',
+ locals: { steps: [[@procedure.libelle.truncate_words(10), administrateurs_instructeur_procedure_path(@procedure)],[t('instructeurs.dossiers.header.banner.administrators_list')]] }
+ = render partial: 'instructeurs/procedures/header',
+ locals: { procedure: @procedure }
.container
- %h1
+ %h1.fr-h4
= t('instructeurs.procedures.administrators_list.title', procedure_id: @procedure.id, procedure_libelle: @procedure.libelle)
%ul
diff --git a/app/views/instructeurs/procedures/deleted_dossiers.html.haml b/app/views/instructeurs/procedures/deleted_dossiers.html.haml
index 3b7bb170a..04101b41f 100644
--- a/app/views/instructeurs/procedures/deleted_dossiers.html.haml
+++ b/app/views/instructeurs/procedures/deleted_dossiers.html.haml
@@ -1,11 +1,13 @@
- content_for(:title, "#{@procedure.libelle}")
-= render partial: 'administrateurs/breadcrumbs',
- locals: { steps: [[@procedure.libelle.truncate_words(10), instructeur_procedure_path(@procedure)],
- ['Historique des dossiers supprimés']] }
+.sub-header
+ .fr-container.flex.column
+ = render partial: 'instructeurs/breadcrumbs',
+ locals: { steps: [[@procedure.libelle.truncate_words(10), instructeur_procedure_path(@procedure)],
+ ['Historique des dossiers supprimés']] }
+
+ = render partial: 'instructeurs/procedures/header',
+ locals: { procedure: @procedure }
-.fr-container
- .fr-mb-3w
- = link_to "Retour à la démarche", instructeur_procedure_path(@procedure), class: "fr-link fr-icon-arrow-left-line fr-link--icon-left"
= render Dossiers::DeletedDossiersComponent.new(deleted_dossiers: @deleted_dossiers)
diff --git a/app/views/instructeurs/procedures/email_notifications.html.haml b/app/views/instructeurs/procedures/email_notifications.html.haml
index 2761015c0..87300c39d 100644
--- a/app/views/instructeurs/procedures/email_notifications.html.haml
+++ b/app/views/instructeurs/procedures/email_notifications.html.haml
@@ -1,11 +1,16 @@
- content_for(:title, "Notifications pour #{@procedure.libelle}")
-= render partial: 'administrateurs/breadcrumbs',
- locals: { steps: [[@procedure.libelle.truncate_words(10), instructeur_procedure_path(@procedure)],
- ['Notifications']] }
+.sub-header
+ .fr-container.flex.column
+ = render partial: 'instructeurs/breadcrumbs',
+ locals: { steps: [[@procedure.libelle.truncate_words(10), instructeur_procedure_path(@procedure)],
+ [t('instructeurs.dossiers.header.banner.notification_management')]] }
+ = render partial: 'instructeurs/procedures/header',
+ locals: { procedure: @procedure }
+
.fr-container
- %h1.fr-h3
+ %h1.fr-h4
= t('.title')
= form_for @assign_to, url: update_email_notifications_instructeur_procedure_path(@procedure), html: { class: 'form' } do |form|
diff --git a/app/views/instructeurs/procedures/email_usagers.html.haml b/app/views/instructeurs/procedures/email_usagers.html.haml
index d22d23021..937dbdce5 100644
--- a/app/views/instructeurs/procedures/email_usagers.html.haml
+++ b/app/views/instructeurs/procedures/email_usagers.html.haml
@@ -1,10 +1,15 @@
- content_for(:title, "Contacter les usagers pour #{@procedure.libelle}")
-= render partial: 'administrateurs/breadcrumbs',
- locals: { steps: [[@procedure.libelle.truncate_words(10), instructeur_procedure_path(@procedure)],
- [t('.contact_users')]] }
+.sub-header
+ .fr-container.flex.column
+ = render partial: 'instructeurs/breadcrumbs',
+ locals: { steps: [[@procedure.libelle.truncate_words(10), instructeur_procedure_path(@procedure)],
+ [t('instructeurs.dossiers.header.banner.contact_users')]] }
+ = render partial: 'instructeurs/procedures/header',
+ locals: { procedure: @procedure }
+
.messagerie.fr-container
- %h1 Contacter les usagers
+ %h1.fr-h4= t('instructeurs.dossiers.header.banner.contact_users')
%p.fr-highlight
= t('.hint', count: @dossiers_without_groupe_count).html_safe
diff --git a/app/views/instructeurs/procedures/exports.html.haml b/app/views/instructeurs/procedures/exports.html.haml
index fad0a8022..f22aecc25 100644
--- a/app/views/instructeurs/procedures/exports.html.haml
+++ b/app/views/instructeurs/procedures/exports.html.haml
@@ -1,11 +1,17 @@
- title = "Exports · #{@procedure.libelle}"
- content_for(:title, title)
-= render partial: 'administrateurs/breadcrumbs',
- locals: { steps: [[@procedure.libelle.truncate_words(10), instructeur_procedure_path(@procedure)],
- [t('.title')]] }
+.sub-header
+ .fr-container.flex.column
+ = render partial: 'instructeurs/breadcrumbs',
+ locals: { steps: [[@procedure.libelle.truncate_words(10), instructeur_procedure_path(@procedure)],
+ [t('instructeurs.dossiers.header.banner.exports_list')]] }
+
+ = render partial: 'instructeurs/procedures/header',
+ locals: { procedure: @procedure }
.fr-container
+ %h1.fr-h4= t('.title')
.fr-tabs.mb-3
%ul.fr-tabs__list{ role: 'tablist' }
%li{ role: 'presentation' }
diff --git a/app/views/instructeurs/procedures/show.html.haml b/app/views/instructeurs/procedures/show.html.haml
index 00753ecb1..9fb78de03 100644
--- a/app/views/instructeurs/procedures/show.html.haml
+++ b/app/views/instructeurs/procedures/show.html.haml
@@ -2,16 +2,12 @@
#procedure-show
.sub-header
- .fr-container.flex
-
- .procedure-logo{ style: "background-image: url(#{@procedure.logo_url})",
- role: 'img', 'aria-label': "logo de la démarche #{@procedure.libelle}" }
-
+ .fr-container.flex.column
+ = render partial: 'instructeurs/breadcrumbs',
+ locals: { steps: [[@procedure.libelle.truncate_words(10), instructeur_procedure_path(@procedure)]] }
= render partial: 'header', locals: { procedure: @procedure, statut: @statut }
-
- .procedure-actions
- - if @can_download_dossiers
- = render Dossiers::ExportDropdownComponent.new(procedure: @procedure, export_templates: current_instructeur.export_templates_for(@procedure), export_url: method(:download_export_instructeur_procedure_path))
+ %hr
+ %h1.fr-h5.fr-mb-0= t('.file_tracking')
.fr-container.flex= render partial: "tabs", locals: { procedure: @procedure,
statut: @statut,
diff --git a/app/views/instructeurs/procedures/stats.html.haml b/app/views/instructeurs/procedures/stats.html.haml
index b1f2648fe..0ffd9d5c6 100644
--- a/app/views/instructeurs/procedures/stats.html.haml
+++ b/app/views/instructeurs/procedures/stats.html.haml
@@ -1,8 +1,13 @@
-- title = "Statistiques · #{@procedure.libelle}"
+- title = "Statistiques de la démarche"
- content_for(:title, title)
-= render partial: 'administrateurs/breadcrumbs',
- locals: { steps: [[@procedure.libelle.truncate_words(10), instructeur_procedure_path(@procedure)],
- [t('.title')]] }
+.sub-header
+ .fr-container.flex.column
+ = render partial: 'instructeurs/breadcrumbs',
+ locals: { steps: [[@procedure.libelle.truncate_words(10), instructeur_procedure_path(@procedure)],
+ [t('instructeurs.dossiers.header.banner.statistics')]] }
+
+ = render partial: 'instructeurs/procedures/header',
+ locals: { procedure: @procedure }
= render partial: 'shared/procedures/stats', locals: { title: title }
diff --git a/app/views/shared/procedures/_stats.html.haml b/app/views/shared/procedures/_stats.html.haml
index fd6fb1c85..671b8024a 100644
--- a/app/views/shared/procedures/_stats.html.haml
+++ b/app/views/shared/procedures/_stats.html.haml
@@ -1,5 +1,5 @@
.fr-container.fr-my-4w
- %h1= title
+ %h1.fr-h4= title
.fr-grid-row.fr-grid-row--gutters
- if @usual_traitement_time.present?
.fr-col-xs-12
diff --git a/config/locales/views/instructeurs/header/en.yml b/config/locales/views/instructeurs/header/en.yml
index ad343adb4..3e4299acb 100644
--- a/config/locales/views/instructeurs/header/en.yml
+++ b/config/locales/views/instructeurs/header/en.yml
@@ -10,10 +10,14 @@ en:
en_construction: This file is pending for instruction. The maximum delay is 6 months, you can extend the duration by a month by clicking on the underneath button.
termine: This file had been processed and will soon expire. So it will be deleted soon. If you want to keep it, you can dowload a PDF file of it.
button_delay_expiration: "Keep for one more month"
+ follow_up: File tracking
+ procedure_management: File management
notification_management: notification management
administrators_list: administrators list
exports_list: exports and export templates
exports_notification_label: A new export is ready to download
statistics: statistics
instructeurs: instructors
- contact_users: contact users (draft)
+ contact_users: Contact users with a draft file
+ downloads: Downloads
+ user_support: User support
diff --git a/config/locales/views/instructeurs/header/fr.yml b/config/locales/views/instructeurs/header/fr.yml
index 46b2d77c1..d3b7e4fbe 100644
--- a/config/locales/views/instructeurs/header/fr.yml
+++ b/config/locales/views/instructeurs/header/fr.yml
@@ -12,9 +12,18 @@ fr:
termine: Le traitement de ce dossier est terminé, mais il va bientôt être supprimé. Si vous souhaitez en conserver une trace, vous pouvez le télécharger au format PDF.
button_delay_expiration: "Conserver un mois de plus"
notification_management: Gestion des notifications
- administrators_list: Voir les administrateurs
- exports_list: Voir les exports et modèles d'export
+ follow_up: Suivi des dossiers
+ procedure_management: Gestion de la démarche
+ administrators_list: Administrateurs de la démarche
+ exports_list: Liste des exports
+ exports_models: Modèles d'exports
exports_notification_label: Un nouvel export est prêt à être téléchargé
- statistics: Statistiques
- instructeurs: instructeurs
- contact_users: Contacter les usagers (brouillon)
+ statistics: Statistiques de la démarche
+ user_support: Accompagnement des usagers
+ instructeurs: Gestion des instructeurs
+ contact_users: Contacter les usagers avec un dossier "brouillon"
+ preview: Prévisualiser le formulaire
+ copy_link_button: Copier le lien usager de la démarche
+ downloads: Téléchargements
+ archives: Téléchargement mensuel
+ procedure_navigation: "Navigation dans la démarche"
diff --git a/config/locales/views/instructeurs/procedures/email_notifications/fr.yml b/config/locales/views/instructeurs/procedures/email_notifications/fr.yml
index 8a98dbbb7..5a1d662d2 100644
--- a/config/locales/views/instructeurs/procedures/email_notifications/fr.yml
+++ b/config/locales/views/instructeurs/procedures/email_notifications/fr.yml
@@ -5,7 +5,7 @@ fr:
utils:
positive: Oui
negative: Non
- title: Notifications par email
+ title: Gestion des notifications
subtitle: Configurez sur cette page les notifications que vous souhaitez recevoir par email pour cette démarche.
for_each_file_submitted:
title: Recevoir une notification à chaque dossier déposé
diff --git a/config/locales/views/instructeurs/procedures/en.yml b/config/locales/views/instructeurs/procedures/en.yml
index bc3536ab4..68dc01456 100644
--- a/config/locales/views/instructeurs/procedures/en.yml
+++ b/config/locales/views/instructeurs/procedures/en.yml
@@ -13,15 +13,14 @@ en:
dossiers_close_to_expiration: expiring
dossiers_supprimes: recently deleted
copy_link_button: Copy the procedure link to clipboard
+ show:
+ file_tracking: File tracking
email_usagers:
- contact_users: Contact users (draft)
hint:
zero: "There is no user with a draft."
one: "You will send a message to 1 user."
other: "You will send a message to %{count} users."
administrators_list:
- title: "%{procedure_libelle} - n°%{procedure_id} - administrators"
- stats:
- title: Statistics
+ title: Procedure administrators
exports:
title: Exports
diff --git a/config/locales/views/instructeurs/procedures/fr.yml b/config/locales/views/instructeurs/procedures/fr.yml
index 08d0d2fd2..4f10bf351 100644
--- a/config/locales/views/instructeurs/procedures/fr.yml
+++ b/config/locales/views/instructeurs/procedures/fr.yml
@@ -13,13 +13,12 @@ fr:
dossiers_close_to_expiration: expirant
dossiers_supprimes: supprimés
copy_link_button: Copier le lien de la démarche dans le presse-papiers
+ show:
+ file_tracking: Suivi des dossiers
email_usagers:
- contact_users: Contacter les usagers (brouillon)
hint:
zero: "Aucun usager n'a de dossier en brouillon."
one: "Vous allez envoyer un message à 1 usager ayant un dossier en brouillon."
other: "Vous allez envoyer un message à %{count} usagers ayant un dossier en brouillon."
administrators_list:
- title: "%{procedure_libelle} - n°%{procedure_id} - administrateurs"
- stats:
- title: Statistiques
+ title: Administrateurs de la démarche
diff --git a/config/locales/views/layouts/_breadcrumb.en.yml b/config/locales/views/layouts/_breadcrumb.en.yml
index 129028235..d6003ef6f 100644
--- a/config/locales/views/layouts/_breadcrumb.en.yml
+++ b/config/locales/views/layouts/_breadcrumb.en.yml
@@ -1,7 +1,7 @@
en:
layouts:
breadcrumb:
- root: "Home"
+ root: "Home - List of procedures"
you_are_here: "You are here"
show: Show breadcrumb
preview: "Preview the form"
diff --git a/config/locales/views/layouts/_breadcrumb.fr.yml b/config/locales/views/layouts/_breadcrumb.fr.yml
index cc60f2133..5fd78a4d2 100644
--- a/config/locales/views/layouts/_breadcrumb.fr.yml
+++ b/config/locales/views/layouts/_breadcrumb.fr.yml
@@ -1,7 +1,7 @@
fr:
layouts:
breadcrumb:
- root: "Accueil"
+ root: "Accueil - Liste des démarches"
you_are_here: "Vous êtes ici"
show: "Voir le fil d’Ariane"
preview: "Prévisualiser le formulaire"
diff --git a/spec/helpers/navigation_helper_spec.rb b/spec/helpers/navigation_helper_spec.rb
new file mode 100644
index 000000000..b7289e445
--- /dev/null
+++ b/spec/helpers/navigation_helper_spec.rb
@@ -0,0 +1,65 @@
+# frozen_string_literal: true
+
+RSpec.describe NavigationHelper do
+ describe '#current_nav_section' do
+ subject { helper.current_nav_section }
+
+ context 'when in procedure management section' do
+ it 'returns procedure_management for administrateurs action' do
+ allow(helper).to receive(:params).and_return({ action: 'administrateurs' })
+ expect(subject).to eq('procedure_management')
+ end
+
+ it 'returns procedure_management for stats action' do
+ allow(helper).to receive(:params).and_return({ action: 'stats' })
+ expect(subject).to eq('procedure_management')
+ end
+
+ it 'returns procedure_management for email_notifications action' do
+ allow(helper).to receive(:params).and_return({ action: 'email_notifications' })
+ expect(subject).to eq('procedure_management')
+ end
+
+ it 'returns procedure_management for deleted_dossiers action' do
+ allow(helper).to receive(:params).and_return({ action: 'deleted_dossiers' })
+ expect(subject).to eq('procedure_management')
+ end
+
+ it 'returns procedure_management for groupe_instructeurs controller' do
+ allow(helper).to receive(:params).and_return({ controller: 'instructeurs/groupe_instructeurs' })
+ expect(subject).to eq('procedure_management')
+ end
+ end
+
+ context 'when in user support section' do
+ it 'returns user_support for email_usagers action' do
+ allow(helper).to receive(:params).and_return({ action: 'email_usagers' })
+ expect(subject).to eq('user_support')
+ end
+
+ it 'returns user_support for apercu action' do
+ allow(helper).to receive(:params).and_return({ action: 'apercu' })
+ expect(subject).to eq('user_support')
+ end
+ end
+
+ context 'when in downloads section' do
+ it 'returns downloads for exports action' do
+ allow(helper).to receive(:params).and_return({ action: 'exports' })
+ expect(subject).to eq('downloads')
+ end
+
+ it 'returns downloads for archives controller' do
+ allow(helper).to receive(:params).and_return({ controller: 'instructeurs/archives' })
+ expect(subject).to eq('downloads')
+ end
+ end
+
+ context 'when in no specific section' do
+ it 'returns follow_up by default' do
+ allow(helper).to receive(:params).and_return({ action: 'show', controller: 'procedures' })
+ expect(subject).to eq('follow_up')
+ end
+ end
+ end
+end
diff --git a/spec/system/instructeurs/instruction_spec.rb b/spec/system/instructeurs/instruction_spec.rb
index bfd9447d2..5e06cd74f 100644
--- a/spec/system/instructeurs/instruction_spec.rb
+++ b/spec/system/instructeurs/instruction_spec.rb
@@ -139,7 +139,8 @@ describe 'Instructing a dossier:', js: true do
expect(page).to have_text('Nous générons cet export.')
- click_on "Voir les exports et modèles d'export"
+ find("button", text: "Téléchargements").click
+ click_on "Liste des exports"
expect(page).to have_text("Export .csv d’un dossier « à suivre » demandé il y a moins d'une minute")
expect(page).to have_text("En préparation")
diff --git a/spec/system/instructeurs/procedure_export_template_tabular_spec.rb b/spec/system/instructeurs/procedure_export_template_tabular_spec.rb
index 6ed66c910..bdefa98f6 100644
--- a/spec/system/instructeurs/procedure_export_template_tabular_spec.rb
+++ b/spec/system/instructeurs/procedure_export_template_tabular_spec.rb
@@ -10,7 +10,9 @@ describe "procedure exports" do
Flipper.enable(:export_template, procedure)
visit instructeur_procedure_path(procedure)
- click_on "Voir les exports et modèles d'export"
+ find("button", text: "Téléchargements").click
+
+ click_on "Liste des exports"
click_on "Modèles d'export"
diff --git a/spec/system/instructeurs/procedure_export_template_zip_spec.rb b/spec/system/instructeurs/procedure_export_template_zip_spec.rb
index 44eb7b787..90e376751 100644
--- a/spec/system/instructeurs/procedure_export_template_zip_spec.rb
+++ b/spec/system/instructeurs/procedure_export_template_zip_spec.rb
@@ -9,7 +9,9 @@ describe "procedure exports zip" do
scenario "create an export_template zip", chome: true do
visit instructeur_procedure_path(procedure)
- click_on "Voir les exports et modèles d'export"
+ find("button", text: "Téléchargements").click
+
+ click_on "Liste des exports"
click_on "Modèles d'export"