From 42027e9db909d0377eda9e8fba27c343cf74ef66 Mon Sep 17 00:00:00 2001
From: Eric Leroy-Terquem <eric.leroyterquem@beta.gouv.fr>
Date: Thu, 16 Nov 2023 15:09:38 +0100
Subject: [PATCH 1/2] feat(manager): add champs de routage in procedure show

---
 app/dashboards/procedure_dashboard.rb  | 2 ++
 app/models/procedure.rb                | 4 ++++
 config/locales/models/procedure/fr.yml | 4 ++++
 3 files changed, 10 insertions(+)

diff --git a/app/dashboards/procedure_dashboard.rb b/app/dashboards/procedure_dashboard.rb
index ae4b1661e..c70964c34 100644
--- a/app/dashboards/procedure_dashboard.rb
+++ b/app/dashboards/procedure_dashboard.rb
@@ -16,6 +16,7 @@ class ProcedureDashboard < Administrate::BaseDashboard
     administrateurs: Field::HasMany,
     instructeurs: Field::HasMany,
     groupe_instructeurs: Field::HasMany,
+    routing_champs: Field::String,
     id: Field::Number.with_options(searchable: true),
     libelle: Field::String,
     description: Field::String,
@@ -74,6 +75,7 @@ class ProcedureDashboard < Administrate::BaseDashboard
     :administrateurs,
     :instructeurs,
     :groupe_instructeurs,
+    :routing_champs,
     :libelle,
     :description,
     :tags,
diff --git a/app/models/procedure.rb b/app/models/procedure.rb
index 6f077f0dc..47ab405a8 100644
--- a/app/models/procedure.rb
+++ b/app/models/procedure.rb
@@ -700,6 +700,10 @@ class Procedure < ApplicationRecord
     groupe_instructeurs - [defaut_groupe_instructeur]
   end
 
+  def routing_champs
+    active_revision.types_de_champ_public.filter(&:used_by_routing_rules?).map(&:libelle)
+  end
+
   def can_be_deleted_by_administrateur?
     brouillon? || dossiers.state_en_instruction.empty?
   end
diff --git a/config/locales/models/procedure/fr.yml b/config/locales/models/procedure/fr.yml
index 3b8a596c5..e88bb2fcc 100644
--- a/config/locales/models/procedure/fr.yml
+++ b/config/locales/models/procedure/fr.yml
@@ -74,3 +74,7 @@ fr:
             sva_svr:
               immutable: "La configuration SVA/SVR ne peut plus être modifiée"
               declarative_incompatible: "Le SVA/SVR est incompatible avec une démarche déclarative"
+  helpers:
+    label:
+      procedure:
+        routing_champs: Champ(s) de routage

From 61ba089203b88fd5ce148948df8a11347d552fa9 Mon Sep 17 00:00:00 2001
From: Eric Leroy-Terquem <eric.leroyterquem@beta.gouv.fr>
Date: Thu, 16 Nov 2023 17:55:00 +0100
Subject: [PATCH 2/2] feat(manager): add routing rule in groupe instructeur
 show

---
 app/dashboards/groupe_instructeur_dashboard.rb  | 2 ++
 app/models/groupe_instructeur.rb                | 4 ++++
 config/locales/models/groupe_instructeur/fr.yml | 1 +
 3 files changed, 7 insertions(+)

diff --git a/app/dashboards/groupe_instructeur_dashboard.rb b/app/dashboards/groupe_instructeur_dashboard.rb
index 44ab82fa6..d0888187c 100644
--- a/app/dashboards/groupe_instructeur_dashboard.rb
+++ b/app/dashboards/groupe_instructeur_dashboard.rb
@@ -12,6 +12,7 @@ class GroupeInstructeurDashboard < Administrate::BaseDashboard
     label: Field::String,
     closed: Field::Boolean,
     instructeurs: Field::HasMany,
+    humanized_routing_rule: Field::String,
     created_at: Field::DateTime,
     updated_at: Field::DateTime
   }.freeze
@@ -32,6 +33,7 @@ class GroupeInstructeurDashboard < Administrate::BaseDashboard
     :label,
     :closed,
     :instructeurs,
+    :humanized_routing_rule,
     :created_at,
     :updated_at
   ].freeze
diff --git a/app/models/groupe_instructeur.rb b/app/models/groupe_instructeur.rb
index e9b67ac6c..db3b3006f 100644
--- a/app/models/groupe_instructeur.rb
+++ b/app/models/groupe_instructeur.rb
@@ -113,6 +113,10 @@ class GroupeInstructeur < ApplicationRecord
     procedure.groupe_instructeurs - [self]
   end
 
+  def humanized_routing_rule
+    routing_rule&.to_s(procedure.active_revision.types_de_champ)
+  end
+
   private
 
   def routing_rule_matches_tdc?(rule)
diff --git a/config/locales/models/groupe_instructeur/fr.yml b/config/locales/models/groupe_instructeur/fr.yml
index 1b859b57d..91bce1eb2 100644
--- a/config/locales/models/groupe_instructeur/fr.yml
+++ b/config/locales/models/groupe_instructeur/fr.yml
@@ -7,6 +7,7 @@ fr:
     attributes:
       groupe_instructeur:
         label: Libellé
+        humanized_routing_rule: Règle de routage
     errors:
       models:
         groupe_instructeur: