Sync: code local unifié
Synchronisation du code source local (fait foi). Signed-off-by: lions dev Team
This commit is contained in:
@@ -7,7 +7,14 @@
|
||||
template="/templates/main-template.xhtml">
|
||||
|
||||
<ui:define name="title">UnionFlow - Tableau de bord</ui:define>
|
||||
|
||||
|
||||
<ui:define name="metadata">
|
||||
<!-- Redirection conditionnelle AVANT le rendu (phase INVOKE_APPLICATION) -->
|
||||
<f:metadata>
|
||||
<f:viewAction action="#{dashboardBean.checkAccessAndRedirect}" />
|
||||
</f:metadata>
|
||||
</ui:define>
|
||||
|
||||
<ui:define name="content">
|
||||
<div class="grid">
|
||||
<!-- Header avec informations contextuelles -->
|
||||
@@ -16,7 +23,7 @@
|
||||
<div class="flex flex-column lg:flex-row lg:align-items-center lg:justify-content-between">
|
||||
<div>
|
||||
<h2 class="text-900 font-medium text-4xl">Tableau de bord UnionFlow</h2>
|
||||
<p class="text-600 text-lg mt-0 mb-3">Bienvenue #{userSession.currentUser.nom}, voici un aperçu de votre union</p>
|
||||
<p class="text-600 text-lg mt-0 mb-3">Bienvenue #{userSession.currentUser != null ? userSession.currentUser.nomComplet : userSession.username}, voici un aperçu de votre union</p>
|
||||
<div class="flex align-items-center">
|
||||
<i class="pi pi-calendar text-blue-500"></i>
|
||||
<span class="text-700 ml-2">#{dashboardBean.currentDate}</span>
|
||||
@@ -130,54 +137,68 @@
|
||||
</div>
|
||||
|
||||
<!-- 1. MEMBRES : L'humain d'abord - le plus important -->
|
||||
<ui:include src="/templates/components/cards/kpi-card.xhtml">
|
||||
<ui:param name="title" value="Membres Actifs" />
|
||||
<ui:param name="value" value="#{dashboardBean.activeMembers}" />
|
||||
<ui:param name="icon" value="pi-users" />
|
||||
<ui:param name="iconColor" value="blue-600" />
|
||||
<ui:param name="growthValue" value="#{dashboardBean.membresEvolutionPourcent}" />
|
||||
<ui:param name="growthLabel" value="ce mois" />
|
||||
<ui:param name="progressValue" value="#{dashboardBean.tauxActivite}" />
|
||||
</ui:include>
|
||||
<!-- Visible pour : SECRETAIRE, TRESORIER, RESPONSABLE_SOCIAL, RESPONSABLE_EVENEMENTS, ADMIN -->
|
||||
<ui:fragment rendered="#{menuBean.isSecretaire() or menuBean.isTresorier() or menuBean.isResponsableSocial() or menuBean.isResponsableEvenements() or menuBean.isAdminOrganisation() or menuBean.isSuperAdmin()}">
|
||||
<ui:include src="/templates/components/cards/kpi-card.xhtml">
|
||||
<ui:param name="title" value="Membres Actifs" />
|
||||
<ui:param name="value" value="#{dashboardBean.activeMembers}" />
|
||||
<ui:param name="icon" value="pi-users" />
|
||||
<ui:param name="iconColor" value="blue-600" />
|
||||
<ui:param name="growthValue" value="#{dashboardBean.membresEvolutionPourcent}" />
|
||||
<ui:param name="growthLabel" value="ce mois" />
|
||||
<ui:param name="progressValue" value="#{dashboardBean.tauxActivite}" />
|
||||
</ui:include>
|
||||
</ui:fragment>
|
||||
|
||||
<!-- 2. FINANCES : Santé financière - crucial pour la survie -->
|
||||
<ui:include src="/templates/components/cards/kpi-card.xhtml">
|
||||
<ui:param name="title" value="FCFA Collectés" />
|
||||
<ui:param name="value" value="#{dashboardBean.totalCotisations}" />
|
||||
<ui:param name="icon" value="pi-dollar" />
|
||||
<ui:param name="iconColor" value="green-600" />
|
||||
<ui:param name="growthValue" value="#{dashboardBean.cotisationsEvolutionPourcent}" />
|
||||
<ui:param name="growthLabel" value="vs mois dernier" />
|
||||
<ui:param name="progressValue" value="#{dashboardBean.tauxObjectifCotisations}" />
|
||||
</ui:include>
|
||||
<!-- Visible pour : TRESORIER, ADMIN uniquement -->
|
||||
<ui:fragment rendered="#{menuBean.isTresorier() or menuBean.isAdminOrganisation() or menuBean.isSuperAdmin()}">
|
||||
<ui:include src="/templates/components/cards/kpi-card.xhtml">
|
||||
<ui:param name="title" value="FCFA Collectés" />
|
||||
<ui:param name="value" value="#{dashboardBean.totalCotisations}" />
|
||||
<ui:param name="icon" value="pi-dollar" />
|
||||
<ui:param name="iconColor" value="green-600" />
|
||||
<ui:param name="growthValue" value="#{dashboardBean.cotisationsEvolutionPourcent}" />
|
||||
<ui:param name="growthLabel" value="vs mois dernier" />
|
||||
<ui:param name="progressValue" value="#{dashboardBean.tauxObjectifCotisations}" />
|
||||
</ui:include>
|
||||
</ui:fragment>
|
||||
|
||||
<!-- 3. SOLIDARITÉ : Impact social - raison d'être -->
|
||||
<ui:include src="/templates/components/cards/kpi-card.xhtml">
|
||||
<ui:param name="title" value="FCFA Distribués" />
|
||||
<ui:param name="value" value="#{dashboardBean.aidesDistribuees}" />
|
||||
<ui:param name="icon" value="pi-heart" />
|
||||
<ui:param name="iconColor" value="purple-600" />
|
||||
<ui:param name="statusIcon" value="pi-circle-fill" />
|
||||
<ui:param name="statusLabel" value="Demandes en attente" />
|
||||
<ui:param name="statusValue" value="#{dashboardBean.pendingAides}" />
|
||||
<ui:param name="progressValue" value="#{dashboardBean.tauxAidesTraitees}" />
|
||||
</ui:include>
|
||||
<!-- Visible pour : TRESORIER, RESPONSABLE_SOCIAL, ADMIN -->
|
||||
<ui:fragment rendered="#{menuBean.isTresorier() or menuBean.isResponsableSocial() or menuBean.isAdminOrganisation() or menuBean.isSuperAdmin()}">
|
||||
<ui:include src="/templates/components/cards/kpi-card.xhtml">
|
||||
<ui:param name="title" value="FCFA Distribués" />
|
||||
<ui:param name="value" value="#{dashboardBean.aidesDistribuees}" />
|
||||
<ui:param name="icon" value="pi-heart" />
|
||||
<ui:param name="iconColor" value="purple-600" />
|
||||
<ui:param name="statusIcon" value="pi-circle-fill" />
|
||||
<ui:param name="statusLabel" value="Demandes en attente" />
|
||||
<ui:param name="statusValue" value="#{dashboardBean.pendingAides}" />
|
||||
<ui:param name="progressValue" value="#{dashboardBean.tauxAidesTraitees}" />
|
||||
</ui:include>
|
||||
</ui:fragment>
|
||||
|
||||
<!-- 4. ENGAGEMENT : Vitalité de l'organisation -->
|
||||
<ui:include src="/templates/components/cards/kpi-card.xhtml">
|
||||
<ui:param name="title" value="Taux de Participation" />
|
||||
<ui:param name="value" value="#{dashboardBean.tauxParticipation}%" />
|
||||
<ui:param name="icon" value="pi-chart-line" />
|
||||
<ui:param name="iconColor" value="orange-600" />
|
||||
<ui:param name="statusIcon" value="pi-calendar" />
|
||||
<ui:param name="statusLabel" value="Événements prévus" />
|
||||
<ui:param name="statusValue" value="#{dashboardBean.upcomingEvents}" />
|
||||
<ui:param name="progressValue" value="#{dashboardBean.tauxEngagement}" />
|
||||
</ui:include>
|
||||
<!-- Visible pour : RESPONSABLE_EVENEMENTS, ADMIN -->
|
||||
<ui:fragment rendered="#{menuBean.isResponsableEvenements() or menuBean.isAdminOrganisation() or menuBean.isSuperAdmin()}">
|
||||
<ui:include src="/templates/components/cards/kpi-card.xhtml">
|
||||
<ui:param name="title" value="Taux de Participation" />
|
||||
<ui:param name="value" value="#{dashboardBean.tauxParticipation}%" />
|
||||
<ui:param name="icon" value="pi-chart-line" />
|
||||
<ui:param name="iconColor" value="orange-600" />
|
||||
<ui:param name="statusIcon" value="pi-calendar" />
|
||||
<ui:param name="statusLabel" value="Événements prévus" />
|
||||
<ui:param name="statusValue" value="#{dashboardBean.upcomingEvents}" />
|
||||
<ui:param name="progressValue" value="#{dashboardBean.tauxEngagement}" />
|
||||
</ui:include>
|
||||
</ui:fragment>
|
||||
|
||||
<!-- Tendances financières et analyses -->
|
||||
<div class="col-12 lg:col-8">
|
||||
<div class="card">
|
||||
<!-- Visible pour : TRESORIER, ADMIN uniquement -->
|
||||
<ui:fragment rendered="#{menuBean.isTresorier() or menuBean.isAdminOrganisation() or menuBean.isSuperAdmin()}">
|
||||
<div class="col-12 lg:col-8">
|
||||
<div class="card">
|
||||
<div class="flex align-items-center justify-content-between mb-4">
|
||||
<h5>Évolution financière (3 derniers mois)</h5>
|
||||
<div>
|
||||
@@ -239,7 +260,11 @@
|
||||
</h:panelGroup>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</ui:fragment>
|
||||
|
||||
<!-- État des cotisations -->
|
||||
<!-- Visible pour : TRESORIER, ADMIN uniquement -->
|
||||
<ui:fragment rendered="#{menuBean.isTresorier() or menuBean.isAdminOrganisation() or menuBean.isSuperAdmin()}">
|
||||
<div class="col-12 lg:col-4">
|
||||
<div class="card">
|
||||
<h5>État des cotisations</h5>
|
||||
@@ -303,7 +328,8 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</ui:fragment>
|
||||
|
||||
<!-- Journal d'activités et Tâches prioritaires -->
|
||||
<div class="col-12 lg:col-8">
|
||||
<h:form>
|
||||
@@ -376,110 +402,142 @@
|
||||
<!-- Actions rapides et Tâches -->
|
||||
<div class="col-12 lg:col-4">
|
||||
<h:form>
|
||||
<div class="card mb-4">
|
||||
<h5>Actions rapides</h5>
|
||||
<div class="grid">
|
||||
<div class="col-6">
|
||||
<ui:include src="/templates/components/buttons/button-secondary.xhtml">
|
||||
<ui:param name="value" value="Nouveau membre" />
|
||||
<ui:param name="icon" value="pi pi-user-plus" />
|
||||
<ui:param name="action" value="#{dashboardBean.redirectToNewMember}" />
|
||||
<ui:param name="outlined" value="true" />
|
||||
<ui:param name="styleClass" value="w-full mb-2" />
|
||||
</ui:include>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ui:include src="/templates/components/buttons/button-success.xhtml">
|
||||
<ui:param name="value" value="Collecter" />
|
||||
<ui:param name="icon" value="pi pi-wallet" />
|
||||
<ui:param name="action" value="#{dashboardBean.redirectToCotisation}" />
|
||||
<ui:param name="outlined" value="true" />
|
||||
<ui:param name="styleClass" value="w-full mb-2" />
|
||||
</ui:include>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ui:include src="/templates/components/buttons/button-info.xhtml">
|
||||
<ui:param name="value" value="Événement" />
|
||||
<ui:param name="icon" value="pi pi-calendar-plus" />
|
||||
<ui:param name="action" value="#{dashboardBean.redirectToEvenement}" />
|
||||
<ui:param name="outlined" value="true" />
|
||||
<ui:param name="styleClass" value="w-full mb-2" />
|
||||
</ui:include>
|
||||
</div>
|
||||
<div class="col-6">
|
||||
<ui:include src="/templates/components/buttons/button-warning.xhtml">
|
||||
<ui:param name="value" value="Rapport" />
|
||||
<ui:param name="icon" value="pi pi-chart-bar" />
|
||||
<ui:param name="action" value="#{dashboardBean.generateRapport}" />
|
||||
<ui:param name="outlined" value="true" />
|
||||
<ui:param name="styleClass" value="w-full mb-2" />
|
||||
</ui:include>
|
||||
<!-- Actions rapides - Visibilité selon rôles -->
|
||||
<ui:fragment rendered="#{menuBean.isSecretaire() or menuBean.isTresorier() or menuBean.isResponsableEvenements() or menuBean.isAdminOrganisation() or menuBean.isSuperAdmin()}">
|
||||
<div class="card mb-4">
|
||||
<h5>Actions rapides</h5>
|
||||
<div class="grid">
|
||||
<!-- Nouveau membre : SECRETAIRE, ADMIN -->
|
||||
<ui:fragment rendered="#{menuBean.isSecretaire() or menuBean.isAdminOrganisation() or menuBean.isSuperAdmin()}">
|
||||
<div class="col-6">
|
||||
<ui:include src="/templates/components/buttons/button-secondary.xhtml">
|
||||
<ui:param name="value" value="Nouveau membre" />
|
||||
<ui:param name="icon" value="pi pi-user-plus" />
|
||||
<ui:param name="action" value="#{dashboardBean.redirectToNewMember}" />
|
||||
<ui:param name="outlined" value="true" />
|
||||
<ui:param name="styleClass" value="w-full mb-2" />
|
||||
</ui:include>
|
||||
</div>
|
||||
</ui:fragment>
|
||||
<!-- Collecter : TRESORIER, ADMIN -->
|
||||
<ui:fragment rendered="#{menuBean.isTresorier() or menuBean.isAdminOrganisation() or menuBean.isSuperAdmin()}">
|
||||
<div class="col-6">
|
||||
<ui:include src="/templates/components/buttons/button-success.xhtml">
|
||||
<ui:param name="value" value="Collecter" />
|
||||
<ui:param name="icon" value="pi pi-wallet" />
|
||||
<ui:param name="action" value="#{dashboardBean.redirectToCotisation}" />
|
||||
<ui:param name="outlined" value="true" />
|
||||
<ui:param name="styleClass" value="w-full mb-2" />
|
||||
</ui:include>
|
||||
</div>
|
||||
</ui:fragment>
|
||||
<!-- Événement : RESPONSABLE_EVENEMENTS, SECRETAIRE, ADMIN -->
|
||||
<ui:fragment rendered="#{menuBean.isResponsableEvenements() or menuBean.isSecretaire() or menuBean.isAdminOrganisation() or menuBean.isSuperAdmin()}">
|
||||
<div class="col-6">
|
||||
<ui:include src="/templates/components/buttons/button-info.xhtml">
|
||||
<ui:param name="value" value="Événement" />
|
||||
<ui:param name="icon" value="pi pi-calendar-plus" />
|
||||
<ui:param name="action" value="#{dashboardBean.redirectToEvenement}" />
|
||||
<ui:param name="outlined" value="true" />
|
||||
<ui:param name="styleClass" value="w-full mb-2" />
|
||||
</ui:include>
|
||||
</div>
|
||||
</ui:fragment>
|
||||
<!-- Rapport : TRESORIER, SECRETAIRE, ADMIN -->
|
||||
<ui:fragment rendered="#{menuBean.isTresorier() or menuBean.isSecretaire() or menuBean.isAdminOrganisation() or menuBean.isSuperAdmin()}">
|
||||
<div class="col-6">
|
||||
<ui:include src="/templates/components/buttons/button-warning.xhtml">
|
||||
<ui:param name="value" value="Rapport" />
|
||||
<ui:param name="icon" value="pi pi-chart-bar" />
|
||||
<ui:param name="action" value="#{dashboardBean.generateRapport}" />
|
||||
<ui:param name="outlined" value="true" />
|
||||
<ui:param name="styleClass" value="w-full mb-2" />
|
||||
</ui:include>
|
||||
</div>
|
||||
</ui:fragment>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ui:fragment>
|
||||
</h:form>
|
||||
|
||||
<div class="card">
|
||||
<h5>Tâches prioritaires</h5>
|
||||
<div class="flex flex-column gap-3">
|
||||
<div class="flex align-items-center p-3 border-round bg-blue-50 border-blue-200">
|
||||
<i class="pi pi-check-circle text-blue-500 text-xl mr-3"></i>
|
||||
<div class="flex-1">
|
||||
<div class="text-900 font-medium">Valider #{dashboardBean.adhesionsPendantes} adhésions</div>
|
||||
<small class="text-600">Demandes en attente de validation</small>
|
||||
</div>
|
||||
<ui:include src="/templates/components/buttons/button-icon.xhtml">
|
||||
<ui:param name="icon" value="pi pi-arrow-right" />
|
||||
<ui:param name="action" value="#{dashboardBean.redirectToAdhesionValidation}" />
|
||||
<ui:param name="severity" value="info" />
|
||||
</ui:include>
|
||||
</div>
|
||||
|
||||
<div class="flex align-items-center p-3 border-round bg-orange-50 border-orange-200">
|
||||
<i class="pi pi-exclamation-triangle text-orange-500 text-xl mr-3"></i>
|
||||
<div class="flex-1">
|
||||
<div class="text-900 font-medium">Relancer #{dashboardBean.cotisationsRetard} cotisations</div>
|
||||
<small class="text-600">Paiements en retard</small>
|
||||
</div>
|
||||
<ui:include src="/templates/components/buttons/button-icon.xhtml">
|
||||
<ui:param name="icon" value="pi pi-arrow-right" />
|
||||
<ui:param name="action" value="#{dashboardBean.redirectToRelances}" />
|
||||
<ui:param name="severity" value="warning" />
|
||||
</ui:include>
|
||||
</div>
|
||||
|
||||
<div class="flex align-items-center p-3 border-round bg-green-50 border-green-200">
|
||||
<i class="pi pi-heart text-green-500 text-xl mr-3"></i>
|
||||
<div class="flex-1">
|
||||
<div class="text-900 font-medium">Traiter #{dashboardBean.aidesEnAttente} aides</div>
|
||||
<small class="text-600">Demandes d'aide à examiner</small>
|
||||
</div>
|
||||
<ui:include src="/templates/components/buttons/button-icon.xhtml">
|
||||
<ui:param name="icon" value="pi pi-arrow-right" />
|
||||
<ui:param name="action" value="#{dashboardBean.redirectToAidesTraitement}" />
|
||||
<ui:param name="severity" value="success" />
|
||||
</ui:include>
|
||||
</div>
|
||||
|
||||
<div class="flex align-items-center p-3 border-round bg-purple-50 border-purple-200">
|
||||
<i class="pi pi-calendar text-purple-500 text-xl mr-3"></i>
|
||||
<div class="flex-1">
|
||||
<div class="text-900 font-medium">Organiser prochains événements</div>
|
||||
<small class="text-600">#{dashboardBean.evenementsAPlanifier} événements à planifier</small>
|
||||
</div>
|
||||
<ui:include src="/templates/components/buttons/button-icon.xhtml">
|
||||
<ui:param name="icon" value="pi pi-arrow-right" />
|
||||
<ui:param name="action" value="#{dashboardBean.redirectToEvenementPlanning}" />
|
||||
<ui:param name="styleClass" value="ui-button-help" />
|
||||
</ui:include>
|
||||
<!-- Tâches prioritaires - Visibilité selon rôles -->
|
||||
<ui:fragment rendered="#{menuBean.isSecretaire() or menuBean.isTresorier() or menuBean.isResponsableSocial() or menuBean.isResponsableEvenements() or menuBean.isAdminOrganisation() or menuBean.isSuperAdmin()}">
|
||||
<div class="card">
|
||||
<h5>Tâches prioritaires</h5>
|
||||
<div class="flex flex-column gap-3">
|
||||
<!-- Valider adhésions : SECRETAIRE, ADMIN -->
|
||||
<ui:fragment rendered="#{menuBean.isSecretaire() or menuBean.isAdminOrganisation() or menuBean.isSuperAdmin()}">
|
||||
<div class="flex align-items-center p-3 border-round bg-blue-50 border-blue-200">
|
||||
<i class="pi pi-check-circle text-blue-500 text-xl mr-3"></i>
|
||||
<div class="flex-1">
|
||||
<div class="text-900 font-medium">Valider #{dashboardBean.adhesionsPendantes} adhésions</div>
|
||||
<small class="text-600">Demandes en attente de validation</small>
|
||||
</div>
|
||||
<ui:include src="/templates/components/buttons/button-icon.xhtml">
|
||||
<ui:param name="icon" value="pi pi-arrow-right" />
|
||||
<ui:param name="action" value="#{dashboardBean.redirectToAdhesionValidation}" />
|
||||
<ui:param name="severity" value="info" />
|
||||
</ui:include>
|
||||
</div>
|
||||
</ui:fragment>
|
||||
|
||||
<!-- Relancer cotisations : TRESORIER, SECRETAIRE, ADMIN -->
|
||||
<ui:fragment rendered="#{menuBean.isTresorier() or menuBean.isSecretaire() or menuBean.isAdminOrganisation() or menuBean.isSuperAdmin()}">
|
||||
<div class="flex align-items-center p-3 border-round bg-orange-50 border-orange-200">
|
||||
<i class="pi pi-exclamation-triangle text-orange-500 text-xl mr-3"></i>
|
||||
<div class="flex-1">
|
||||
<div class="text-900 font-medium">Relancer #{dashboardBean.cotisationsRetard} cotisations</div>
|
||||
<small class="text-600">Paiements en retard</small>
|
||||
</div>
|
||||
<ui:include src="/templates/components/buttons/button-icon.xhtml">
|
||||
<ui:param name="icon" value="pi pi-arrow-right" />
|
||||
<ui:param name="action" value="#{dashboardBean.redirectToRelances}" />
|
||||
<ui:param name="severity" value="warning" />
|
||||
</ui:include>
|
||||
</div>
|
||||
</ui:fragment>
|
||||
|
||||
<!-- Traiter aides : RESPONSABLE_SOCIAL, ADMIN -->
|
||||
<ui:fragment rendered="#{menuBean.isResponsableSocial() or menuBean.isAdminOrganisation() or menuBean.isSuperAdmin()}">
|
||||
<div class="flex align-items-center p-3 border-round bg-green-50 border-green-200">
|
||||
<i class="pi pi-heart text-green-500 text-xl mr-3"></i>
|
||||
<div class="flex-1">
|
||||
<div class="text-900 font-medium">Traiter #{dashboardBean.aidesEnAttente} aides</div>
|
||||
<small class="text-600">Demandes d'aide à examiner</small>
|
||||
</div>
|
||||
<ui:include src="/templates/components/buttons/button-icon.xhtml">
|
||||
<ui:param name="icon" value="pi pi-arrow-right" />
|
||||
<ui:param name="action" value="#{dashboardBean.redirectToAidesTraitement}" />
|
||||
<ui:param name="severity" value="success" />
|
||||
</ui:include>
|
||||
</div>
|
||||
</ui:fragment>
|
||||
|
||||
<!-- Organiser événements : RESPONSABLE_EVENEMENTS, ADMIN -->
|
||||
<ui:fragment rendered="#{menuBean.isResponsableEvenements() or menuBean.isAdminOrganisation() or menuBean.isSuperAdmin()}">
|
||||
<div class="flex align-items-center p-3 border-round bg-purple-50 border-purple-200">
|
||||
<i class="pi pi-calendar text-purple-500 text-xl mr-3"></i>
|
||||
<div class="flex-1">
|
||||
<div class="text-900 font-medium">Organiser prochains événements</div>
|
||||
<small class="text-600">#{dashboardBean.evenementsAPlanifier} événements à planifier</small>
|
||||
</div>
|
||||
<ui:include src="/templates/components/buttons/button-icon.xhtml">
|
||||
<ui:param name="icon" value="pi pi-arrow-right" />
|
||||
<ui:param name="action" value="#{dashboardBean.redirectToEvenementPlanning}" />
|
||||
<ui:param name="styleClass" value="ui-button-help" />
|
||||
</ui:include>
|
||||
</div>
|
||||
</ui:fragment>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ui:fragment>
|
||||
</div>
|
||||
|
||||
<!-- Tableau de bord financier détaillé -->
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<!-- Visible pour : TRESORIER, ADMIN uniquement -->
|
||||
<ui:fragment rendered="#{menuBean.isTresorier() or menuBean.isAdminOrganisation() or menuBean.isSuperAdmin()}">
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<div class="flex align-items-center justify-content-between mb-4">
|
||||
<h5>Résumé financier mensuel</h5>
|
||||
<div class="flex align-items-center gap-2">
|
||||
@@ -527,6 +585,7 @@
|
||||
</h:panelGroup>
|
||||
</div>
|
||||
</div>
|
||||
</ui:fragment>
|
||||
</div>
|
||||
</ui:define>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user