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 @@ + + + + + + + + +