From 8f96fa42091461e3feb358dabc78506320005ce8 Mon Sep 17 00:00:00 2001
From: dahoud <41957584+DahoudG@users.noreply.github.com>
Date: Sat, 25 Apr 2026 11:21:58 +0000
Subject: [PATCH] =?UTF-8?q?fix(sprint-9=20followup=20web):=20expose=20nouv?=
=?UTF-8?q?elles=20pages=20conformit=C3=A9=20dans=20le=20menu=20de=20navig?=
=?UTF-8?q?ation?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Les 3 pages PrimeFaces livrées en Sprint 8 (compliance dashboard, rapports trimestriels,
PI-SPI readiness) existaient mais étaient inaccessibles via la navigation principale.
MenuBean
- isConformiteDashboardVisible : SUPER_ADMIN, ADMIN_ORGANISATION, PRESIDENT, TRESORIER, COMPLIANCE_OFFICER, CONTROLEUR_INTERNE
- isRapportsTrimestrielsVisible : SUPER_ADMIN, ADMIN_ORGANISATION, PRESIDENT, CONTROLEUR_INTERNE
- isPispiReadinessVisible : SUPER_ADMIN, COMPLIANCE_OFFICER
menu.xhtml
- Nouveau sous-menu "Conformité" (icône pi-verified) inséré après "Gestion Financière"
- 3 menuitems gated par les flags ci-dessus
---
.../lions/unionflow/client/bean/MenuBean.java | 30 +++++++++++++++++++
.../templates/components/layout/menu.xhtml | 9 ++++++
2 files changed, 39 insertions(+)
diff --git a/src/main/java/dev/lions/unionflow/client/bean/MenuBean.java b/src/main/java/dev/lions/unionflow/client/bean/MenuBean.java
index e7987b7..b18f296 100644
--- a/src/main/java/dev/lions/unionflow/client/bean/MenuBean.java
+++ b/src/main/java/dev/lions/unionflow/client/bean/MenuBean.java
@@ -616,6 +616,36 @@ public class MenuBean implements Serializable {
hasAnyRole("SUPER_ADMIN", "ADMIN_ORGANISATION");
}
+ // ========================================================================
+ // Pages conformité (Sprint 8 — backend P1-NEW-7 / P2-NEW-3 / P1-NEW-15)
+ // ========================================================================
+
+ /**
+ * Tableau de bord conformité — Compliance Officer / Contrôleur Interne / direction.
+ * @since 2026-04-25
+ */
+ public boolean isConformiteDashboardVisible() {
+ return hasAnyRole("SUPER_ADMIN", "ADMIN_ORGANISATION", "PRESIDENT",
+ "TRESORIER", "COMPLIANCE_OFFICER", "CONTROLEUR_INTERNE");
+ }
+
+ /**
+ * Rapports trimestriels Contrôleur Interne — restreint contrôleur + président + admin.
+ * @since 2026-04-25
+ */
+ public boolean isRapportsTrimestrielsVisible() {
+ return hasAnyRole("SUPER_ADMIN", "ADMIN_ORGANISATION", "PRESIDENT",
+ "CONTROLEUR_INTERNE");
+ }
+
+ /**
+ * PI-SPI Readiness — admin technique uniquement.
+ * @since 2026-04-25
+ */
+ public boolean isPispiReadinessVisible() {
+ return hasAnyRole("SUPER_ADMIN", "COMPLIANCE_OFFICER");
+ }
+
/**
* Retourne true si l'organisation active dispose d'au moins un module métier spécifique
* (au-delà des modules communs toujours disponibles).
diff --git a/src/main/resources/META-INF/resources/templates/components/layout/menu.xhtml b/src/main/resources/META-INF/resources/templates/components/layout/menu.xhtml
index 9e0ec35..3762444 100644
--- a/src/main/resources/META-INF/resources/templates/components/layout/menu.xhtml
+++ b/src/main/resources/META-INF/resources/templates/components/layout/menu.xhtml
@@ -107,6 +107,15 @@
+
+
+
+
+
+
+
+
+