Files
unionflow-client-quarkus-pr…/target/classes/META-INF/resources/pages/secure/evenement/creation.xhtml

269 lines
17 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">Création d'Événement - 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-plus-circle text-green-500" />
<ui:param name="title" value="Créer un Nouvel Événement" />
<ui:param name="description" value="Remplissez le formulaire pour créer un nouvel événement" />
<ui:define name="actions">
<h:form id="formActionsCreation">
<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>
</div>
</h:form>
</ui:define>
</ui:include>
<!-- Formulaire de création -->
<div class="card">
<h:form id="formCreation">
<ui:include src="/templates/components/forms/form-section.xhtml">
<ui:define name="title">Informations Générales</ui:define>
<ui:define name="content">
<div class="grid">
<div class="col-12">
<ui:include src="/templates/components/forms/form-field-text.xhtml">
<ui:param name="id" value="titre" />
<ui:param name="label" value="Titre de l'événement *" />
<ui:param name="value" value="#{evenementsBean.nouvelEvenement.titre}" />
<ui:param name="required" value="true" />
<ui:param name="placeholder" value="Ex: Assemblée Générale Annuelle 2025" />
</ui:include>
</div>
<div class="col-12">
<ui:include src="/templates/components/forms/form-field-textarea.xhtml">
<ui:param name="id" value="description" />
<ui:param name="label" value="Description" />
<ui:param name="value" value="#{evenementsBean.nouvelEvenement.description}" />
<ui:param name="rows" value="4" />
<ui:param name="placeholder" value="Description détaillée de l'événement..." />
</ui:include>
</div>
<div class="col-12 md:col-6">
<ui:include src="/templates/components/forms/form-field-select.xhtml">
<ui:param name="id" value="typeEvenement" />
<ui:param name="label" value="Type d'événement *" />
<ui:param name="value" value="#{evenementsBean.nouvelEvenement.typeEvenement}" />
<ui:param name="required" value="true" />
<ui:define name="items">
<f:selectItem itemLabel="Sélectionner un type" 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" />
<f:selectItem itemLabel="Action Caritative" itemValue="ACTION_CARITATIVE" />
<f:selectItem itemLabel="Réunion de Bureau" itemValue="REUNION_BUREAU" />
<f:selectItem itemLabel="Conférence" itemValue="CONFERENCE" />
<f:selectItem itemLabel="Atelier" itemValue="ATELIER" />
<f:selectItem itemLabel="Cérémonie" itemValue="CEREMONIE" />
<f:selectItem itemLabel="Autre" itemValue="AUTRE" />
</ui:define>
</ui:include>
</div>
<div class="col-12 md:col-6">
<ui:include src="/templates/components/forms/form-field-select.xhtml">
<ui:param name="id" value="priorite" />
<ui:param name="label" value="Priorité" />
<ui:param name="value" value="#{evenementsBean.nouvelEvenement.priorite}" />
<ui:define name="items">
<f:selectItem itemLabel="Normale" itemValue="NORMALE" />
<f:selectItem itemLabel="Haute" itemValue="HAUTE" />
<f:selectItem itemLabel="Critique" itemValue="CRITIQUE" />
<f:selectItem itemLabel="Basse" itemValue="BASSE" />
</ui:define>
</ui:include>
</div>
</div>
</ui:define>
</ui:include>
<ui:include src="/templates/components/forms/form-section.xhtml">
<ui:define name="title">Dates et Horaires</ui:define>
<ui:define name="content">
<div class="grid">
<div class="col-12 md:col-6">
<ui:include src="/templates/components/forms/form-field-calendar.xhtml">
<ui:param name="id" value="dateDebut" />
<ui:param name="label" value="Date de début *" />
<ui:param name="value" value="#{evenementsBean.nouvelEvenement.dateDebut}" />
<ui:param name="required" value="true" />
</ui:include>
</div>
<div class="col-12 md:col-6">
<ui:include src="/templates/components/forms/form-field-calendar.xhtml">
<ui:param name="id" value="dateFin" />
<ui:param name="label" value="Date de fin" />
<ui:param name="value" value="#{evenementsBean.nouvelEvenement.dateFin}" />
</ui:include>
</div>
<div class="col-12 md:col-6">
<div class="field">
<p:outputLabel for="heureDebut" value="Heure de début" />
<p:inputMask id="heureDebut"
value="#{evenementsBean.nouvelEvenement.heureDebut}"
mask="99:99"
placeholder="HH:mm" />
</div>
</div>
<div class="col-12 md:col-6">
<div class="field">
<p:outputLabel for="heureFin" value="Heure de fin" />
<p:inputMask id="heureFin"
value="#{evenementsBean.nouvelEvenement.heureFin}"
mask="99:99"
placeholder="HH:mm" />
</div>
</div>
</div>
</ui:define>
</ui:include>
<ui:include src="/templates/components/forms/form-section.xhtml">
<ui:define name="title">Localisation</ui:define>
<ui:define name="content">
<div class="grid">
<div class="col-12 md:col-6">
<ui:include src="/templates/components/forms/form-field-text.xhtml">
<ui:param name="id" value="lieu" />
<ui:param name="label" value="Lieu *" />
<ui:param name="value" value="#{evenementsBean.nouvelEvenement.lieu}" />
<ui:param name="required" value="true" />
<ui:param name="placeholder" value="Ex: Salle de conférence" />
</ui:include>
</div>
<div class="col-12 md:col-6">
<ui:include src="/templates/components/forms/form-field-text.xhtml">
<ui:param name="id" value="adresse" />
<ui:param name="label" value="Adresse" />
<ui:param name="value" value="#{evenementsBean.nouvelEvenement.adresse}" />
<ui:param name="placeholder" value="Adresse complète" />
</ui:include>
</div>
<div class="col-12 md:col-6">
<ui:include src="/templates/components/forms/form-field-text.xhtml">
<ui:param name="id" value="ville" />
<ui:param name="label" value="Ville" />
<ui:param name="value" value="#{evenementsBean.nouvelEvenement.ville}" />
</ui:include>
</div>
<div class="col-12 md:col-6">
<ui:include src="/templates/components/forms/form-field-text.xhtml">
<ui:param name="id" value="region" />
<ui:param name="label" value="Région" />
<ui:param name="value" value="#{evenementsBean.nouvelEvenement.region}" />
</ui:include>
</div>
</div>
</ui:define>
</ui:include>
<ui:include src="/templates/components/forms/form-section.xhtml">
<ui:define name="title">Organisation et Participants</ui:define>
<ui:define name="content">
<div class="grid">
<div class="col-12 md:col-6">
<ui:include src="/templates/components/forms/form-field-text.xhtml">
<ui:param name="id" value="organisateur" />
<ui:param name="label" value="Organisateur" />
<ui:param name="value" value="#{evenementsBean.nouvelEvenement.organisateur}" />
</ui:include>
</div>
<div class="col-12 md:col-6">
<ui:include src="/templates/components/forms/form-field-number.xhtml">
<ui:param name="id" value="capaciteMax" />
<ui:param name="label" value="Capacité maximale" />
<ui:param name="value" value="#{evenementsBean.nouvelEvenement.capaciteMax}" />
<ui:param name="min" value="1" />
</ui:include>
</div>
<div class="col-12 md:col-6">
<ui:include src="/templates/components/forms/form-field-calendar.xhtml">
<ui:param name="id" value="dateLimiteInscription" />
<ui:param name="label" value="Date limite d'inscription" />
<ui:param name="value" value="#{evenementsBean.nouvelEvenement.dateLimiteInscription}" />
</ui:include>
</div>
<div class="col-12 md:col-6">
<ui:include src="/templates/components/forms/form-field-boolean.xhtml">
<ui:param name="id" value="inscriptionObligatoire" />
<ui:param name="label" value="Inscription obligatoire" />
<ui:param name="value" value="#{evenementsBean.nouvelEvenement.inscriptionObligatoire}" />
</ui:include>
</div>
</div>
</ui:define>
</ui:include>
<ui:include src="/templates/components/forms/form-section.xhtml">
<ui:define name="title">Budget</ui:define>
<ui:define name="content">
<div class="grid">
<div class="col-12 md:col-6">
<ui:include src="/templates/components/forms/form-field-number.xhtml">
<ui:param name="id" value="budget" />
<ui:param name="label" value="Budget prévu" />
<ui:param name="value" value="#{evenementsBean.nouvelEvenement.budget}" />
<ui:param name="min" value="0" />
<ui:param name="suffix" value=" FCFA" />
</ui:include>
</div>
<div class="col-12 md:col-6">
<ui:include src="/templates/components/forms/form-field-text.xhtml">
<ui:param name="id" value="codeDevise" />
<ui:param name="label" value="Devise" />
<ui:param name="value" value="#{evenementsBean.nouvelEvenement.codeDevise}" />
<ui:param name="placeholder" value="XOF" />
</ui:include>
</div>
</div>
</ui:define>
</ui:include>
<!-- Actions -->
<div class="flex justify-content-end gap-2 mt-4">
<ui:include src="/templates/components/buttons/button-secondary.xhtml">
<ui:param name="value" value="Annuler" />
<ui:param name="icon" value="pi pi-times" />
<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-success.xhtml">
<ui:param name="value" value="Créer l'événement" />
<ui:param name="icon" value="pi pi-check" />
<ui:param name="action" value="#{evenementsBean.creerEvenement}" />
<ui:param name="update" value="@form" />
</ui:include>
</div>
</h:form>
</div>
</ui:define>
</ui:composition>