121 lines
6.5 KiB
HTML
121 lines
6.5 KiB
HTML
<!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">Gestion des Participants - 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-users text-green-500" />
|
|
<ui:param name="title" value="Gestion des Participants" />
|
|
<ui:param name="description" value="Gérer les participants et les inscriptions aux événements" />
|
|
<ui:define name="actions">
|
|
<h:form id="formActionsParticipants">
|
|
<div class="flex gap-2">
|
|
<ui:include src="/templates/components/buttons/button-secondary.xhtml">
|
|
<ui:param name="value" value="Retour" />
|
|
<ui:param name="icon" value="pi pi-arrow-left" />
|
|
<ui:param name="outcome" value="/pages/secure/evenement/gestion.xhtml" />
|
|
<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>
|
|
|
|
<!-- Sélection d'événement -->
|
|
<div class="card">
|
|
<h:form id="formSelection">
|
|
<h5>Sélectionner un Événement</h5>
|
|
<div class="grid">
|
|
<div class="col-12 md:col-6">
|
|
<p:selectOneMenu value="#{evenementsBean.evenementSelectionne}"
|
|
styleClass="w-full"
|
|
filter="true"
|
|
filterMatchMode="contains"
|
|
placeholder="Sélectionner un événement...">
|
|
<f:selectItem itemLabel="Sélectionner un événement" itemValue="#{null}" />
|
|
<f:selectItems value="#{evenementsBean.tousLesEvenements}"
|
|
var="evt"
|
|
itemLabel="#{evt.titre} - #{evt.dateDebutFormatee}"
|
|
itemValue="#{evt}" />
|
|
<p:ajax event="change" update=":formParticipants" />
|
|
</p:selectOneMenu>
|
|
</div>
|
|
</div>
|
|
</h:form>
|
|
</div>
|
|
|
|
<!-- Liste des participants -->
|
|
<div class="card" rendered="#{evenementsBean.evenementSelectionne != null}">
|
|
<h:form id="formParticipants">
|
|
<h5>Participants - #{evenementsBean.evenementSelectionne.titre}</h5>
|
|
|
|
<div class="grid mb-3">
|
|
<div class="col-12 md:col-4">
|
|
<ui:include src="/templates/components/cards/stat-card.xhtml">
|
|
<ui:param name="value" value="#{evenementsBean.evenementSelectionne.participantsInscrits}" />
|
|
<ui:param name="label" value="Inscrits" />
|
|
<ui:param name="icon" value="pi pi-user-plus" />
|
|
<ui:param name="bgColor" value="blue" />
|
|
</ui:include>
|
|
</div>
|
|
|
|
<div class="col-12 md:col-4">
|
|
<ui:include src="/templates/components/cards/stat-card.xhtml">
|
|
<ui:param name="value" value="#{evenementsBean.evenementSelectionne.participantsPresents}" />
|
|
<ui:param name="label" value="Présents" />
|
|
<ui:param name="icon" value="pi pi-check-circle" />
|
|
<ui:param name="bgColor" value="green" />
|
|
</ui:include>
|
|
</div>
|
|
|
|
<div class="col-12 md:col-4">
|
|
<ui:include src="/templates/components/cards/stat-card.xhtml">
|
|
<ui:param name="value" value="#{evenementsBean.evenementSelectionne.placesDisponibles}" />
|
|
<ui:param name="label" value="Places disponibles" />
|
|
<ui:param name="icon" value="pi pi-ticket" />
|
|
<ui:param name="bgColor" value="orange" />
|
|
</ui:include>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="text-center p-4">
|
|
<i class="pi pi-info-circle text-4xl text-blue-500 mb-3"></i>
|
|
<h5>Gestion des Participants</h5>
|
|
<p class="text-600">La gestion détaillée des participants sera disponible prochainement</p>
|
|
<p class="text-600 mt-2">
|
|
Participants inscrits: <strong>#{evenementsBean.evenementSelectionne.participantsInscrits}</strong> /
|
|
Capacité: <strong>#{evenementsBean.evenementSelectionne.capaciteMax}</strong>
|
|
</p>
|
|
</div>
|
|
</h:form>
|
|
</div>
|
|
|
|
<!-- Message si aucun événement sélectionné -->
|
|
<div class="card" rendered="#{evenementsBean.evenementSelectionne == null}">
|
|
<div class="text-center p-4">
|
|
<i class="pi pi-info-circle text-4xl text-blue-500 mb-3"></i>
|
|
<h5>Sélectionnez un événement</h5>
|
|
<p class="text-600">Veuillez sélectionner un événement pour voir ses participants</p>
|
|
</div>
|
|
</div>
|
|
</ui:define>
|
|
|
|
</ui:composition>
|