Configure Maven repository for unionflow-server-api dependency

This commit is contained in:
dahoud
2025-12-10 01:12:54 +00:00
commit 2910809949
1173 changed files with 435718 additions and 0 deletions

View File

@@ -0,0 +1,198 @@
<!DOCTYPE html>
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
template="/templates/main-template.xhtml">
<ui:param name="page" value="#{evenementsBean}"/>
<ui:define name="title">Bilan des Événements - UnionFlow</ui:define>
<ui:define name="content">
<!-- En-tête -->
<ui:include src="/templates/components/layout/page-header.xhtml">
<ui:param name="icon" value="pi pi-chart-bar text-green-500" />
<ui:param name="title" value="Bilan des Événements" />
<ui:param name="description" value="Analysez les performances et les résultats de vos événements" />
<ui:define name="actions">
<h:form id="formActionsBilan">
<div class="flex gap-2">
<ui:include src="/templates/components/buttons/button-secondary.xhtml">
<ui:param name="value" value="Exporter" />
<ui:param name="icon" value="pi pi-download" />
<ui:param name="outlined" value="true" />
</ui:include>
<ui:include src="/templates/components/buttons/button-icon.xhtml">
<ui:param name="icon" value="pi pi-refresh" />
<ui:param name="action" value="#{evenementsBean.actualiser}" />
<ui:param name="update" value="@form" />
<ui:param name="title" value="Actualiser" />
<ui:param name="rounded" value="true" />
<ui:param name="text" value="false" />
<ui:param name="styleClass" value="ui-button-outlined ui-button-secondary" />
</ui:include>
</div>
</h:form>
</ui:define>
</ui:include>
<!-- Statistiques globales -->
<div class="grid mb-3">
<ui:include src="/templates/components/cards/stat-card.xhtml">
<ui:param name="value" value="#{evenementsBean.statistiques.totalEvenements}" />
<ui:param name="label" value="Total événements" />
<ui:param name="icon" value="pi pi-calendar" />
<ui:param name="bgColor" value="blue" />
</ui:include>
<ui:include src="/templates/components/cards/stat-card.xhtml">
<ui:param name="value" value="#{evenementsBean.statistiques.participantsTotal}" />
<ui:param name="label" value="Total participants" />
<ui:param name="icon" value="pi pi-users" />
<ui:param name="bgColor" value="green" />
</ui:include>
<ui:include src="/templates/components/cards/stat-card.xhtml">
<ui:param name="value" value="#{evenementsBean.statistiques.budgetTotal}" />
<ui:param name="label" value="Budget total" />
<ui:param name="icon" value="pi pi-wallet" />
<ui:param name="bgColor" value="purple" />
</ui:include>
<ui:include src="/templates/components/cards/stat-card.xhtml">
<ui:param name="value" value="0%" />
<ui:param name="label" value="Taux de participation moyen" />
<ui:param name="icon" value="pi pi-percentage" />
<ui:param name="bgColor" value="orange" />
</ui:include>
</div>
<!-- Filtres et recherche (DRY/WOU: filter-bar) -->
<ui:decorate template="/templates/components/cards/filter-bar.xhtml">
<ui:param name="title" value="Filtres" />
<ui:param name="styleClass" value="mb-3" />
<ui:define name="filters">
<div class="col-12 md:col-3">
<div class="field">
<p:outputLabel for="searchBilan" value="Rechercher" />
<span class="p-input-icon-left w-full">
<i class="pi pi-search"></i>
<p:inputText id="searchBilan"
placeholder="Titre événement..."
styleClass="w-full">
<p:ajax event="keyup" delay="500"/>
</p:inputText>
</span>
</div>
</div>
<div class="col-12 md:col-2">
<div class="field">
<p:outputLabel for="filtrePeriode" value="Période" />
<p:selectOneMenu id="filtrePeriode" styleClass="w-full">
<f:selectItem itemLabel="Toutes périodes" itemValue="" />
<f:selectItem itemLabel="Ce mois" itemValue="MOIS" />
<f:selectItem itemLabel="Ce trimestre" itemValue="TRIMESTRE" />
<f:selectItem itemLabel="Cette année" itemValue="ANNEE" />
</p:selectOneMenu>
</div>
</div>
<div class="col-12 md:col-2">
<div class="field">
<p:outputLabel for="filtreType" value="Type" />
<p:selectOneMenu id="filtreType" styleClass="w-full">
<f:selectItem itemLabel="Tous types" itemValue="" />
<f:selectItem itemLabel="Assemblée Générale" itemValue="ASSEMBLEE_GENERALE" />
<f:selectItem itemLabel="Formation" itemValue="FORMATION" />
<f:selectItem itemLabel="Activité Sociale" itemValue="ACTIVITE_SOCIALE" />
</p:selectOneMenu>
</div>
</div>
</ui:define>
<ui:define name="actions">
<div class="col-12 md:col-2">
<div class="field">
<label class="invisible">Actions</label>
<p:commandButton value="Réinitialiser"
icon="pi pi-filter-slash"
styleClass="ui-button-secondary w-full" />
</div>
</div>
</ui:define>
</ui:decorate>
<!-- Tableau de bord des bilans -->
<div class="grid">
<!-- Liste des événements avec bilans -->
<div class="col-12">
<div class="card">
<h:form id="formBilans">
<h5>Bilans par Événement</h5>
<p:dataTable id="dtBilans"
value="#{evenementsBean.evenementsFiltres}"
var="evenement"
paginator="true"
rows="20"
rowsPerPageTemplate="10,20,50,100"
emptyMessage="Aucun bilan trouvé"
styleClass="table-responsive">
<p:column headerText="Événement" sortBy="#{evenement.titre}">
<div>
<span class="font-semibold">#{evenement.titre}</span>
<br/>
<span class="text-sm text-600">#{evenement.typeEvenementLibelle}</span>
</div>
</p:column>
<p:column headerText="Date">
<span>#{evenement.dateDebutFormatee}</span>
</p:column>
<p:column headerText="Participants">
<div>
<span class="font-medium">0</span>
<span class="text-sm text-600"> / 0 prévus</span>
</div>
</p:column>
<p:column headerText="Budget">
<div>
<span class="font-medium">0 XOF</span>
<br/>
<span class="text-sm text-600">0 XOF prévu</span>
</div>
</p:column>
<p:column headerText="Taux participation">
<p:tag value="0%" severity="info" />
</p:column>
<p:column headerText="Actions" style="width: 150px;">
<p:commandButton value="Voir bilan"
icon="pi pi-chart-bar"
styleClass="ui-button-rounded ui-button-text ui-button-secondary"
outcome="/pages/secure/evenement/bilan-detail" />
</p:column>
</p:dataTable>
</h:form>
</div>
</div>
</div>
<!-- Graphiques et analyses -->
<div class="grid mt-3">
<div class="col-12 md:col-6">
<div class="card">
<h5>Évolution des participations</h5>
<p class="text-600">Graphique en développement</p>
</div>
</div>
<div class="col-12 md:col-6">
<div class="card">
<h5>Répartition par type</h5>
<p class="text-600">Graphique en développement</p>
</div>
</div>
</div>
</ui:define>
</ui:composition>