Configure Maven repository for unionflow-server-api dependency
This commit is contained in:
@@ -0,0 +1,541 @@
|
||||
<!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:define name="title">Créer un Événement - UnionFlow</ui:define>
|
||||
|
||||
<ui:define name="content">
|
||||
<!-- En-tête -->
|
||||
<div class="grid">
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<div class="flex align-items-center justify-content-between">
|
||||
<div>
|
||||
<h3 class="mb-2">
|
||||
<i class="pi pi-calendar-plus text-green-500 mr-2"></i>
|
||||
Créer un Nouvel Événement
|
||||
</h3>
|
||||
<p class="text-600 m-0">Planifiez et organisez vos événements avec tous les détails nécessaires</p>
|
||||
</div>
|
||||
<div>
|
||||
<p:commandButton value="Retour à la liste"
|
||||
icon="pi pi-arrow-left"
|
||||
styleClass="ui-button-outlined ui-button-secondary"
|
||||
action="/pages/admin/evenements/liste?faces-redirect=true" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Progression -->
|
||||
<div class="card">
|
||||
<h5>Progression de création</h5>
|
||||
<div class="grid">
|
||||
<div class="col-12 md:col-2">
|
||||
<div class="text-center p-3">
|
||||
<i class="pi pi-info-circle text-2xl text-primary mb-2"></i>
|
||||
<div class="text-sm font-medium">Informations de base</div>
|
||||
<i class="pi pi-check-circle text-green-500 mt-1" style="display: #{creationEvenementBean.etapeInformationsComplete ? 'inline' : 'none'};"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 md:col-2">
|
||||
<div class="text-center p-3">
|
||||
<i class="pi pi-calendar text-2xl text-primary mb-2"></i>
|
||||
<div class="text-sm font-medium">Date et lieu</div>
|
||||
<i class="pi pi-check-circle text-green-500 mt-1" style="display: #{creationEvenementBean.etapeDateLieuComplete ? 'inline' : 'none'};"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 md:col-2">
|
||||
<div class="text-center p-3">
|
||||
<i class="pi pi-users text-2xl text-primary mb-2"></i>
|
||||
<div class="text-sm font-medium">Participants</div>
|
||||
<i class="pi pi-check-circle text-green-500 mt-1" style="display: #{creationEvenementBean.etapeParticipantsComplete ? 'inline' : 'none'};"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 md:col-2">
|
||||
<div class="text-center p-3">
|
||||
<i class="pi pi-dollar text-2xl text-primary mb-2"></i>
|
||||
<div class="text-sm font-medium">Tarification</div>
|
||||
<i class="pi pi-check-circle text-green-500 mt-1" style="display: #{creationEvenementBean.etapeTarificationComplete ? 'inline' : 'none'};"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 md:col-2">
|
||||
<div class="text-center p-3">
|
||||
<i class="pi pi-bell text-2xl text-primary mb-2"></i>
|
||||
<div class="text-sm font-medium">Notifications</div>
|
||||
<i class="pi pi-check-circle text-green-500 mt-1" style="display: #{creationEvenementBean.etapeNotificationsComplete ? 'inline' : 'none'};"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 md:col-2">
|
||||
<div class="text-center p-3">
|
||||
<i class="pi pi-check text-2xl text-primary mb-2"></i>
|
||||
<div class="text-sm font-medium">Validation</div>
|
||||
<i class="pi pi-check-circle text-green-500 mt-1" style="display: #{creationEvenementBean.etapeValidationComplete ? 'inline' : 'none'};"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p:progressBar value="#{creationEvenementBean.progressionPourcentage}"
|
||||
labelTemplate="{value}% complété"
|
||||
styleClass="mb-3" />
|
||||
</div>
|
||||
|
||||
<h:form id="formCreation" styleClass="ui-fluid">
|
||||
<p:messages id="messages" showDetail="true" closable="true" />
|
||||
|
||||
<div class="grid">
|
||||
<!-- Informations de base -->
|
||||
<div class="col-12 md:col-6">
|
||||
<div class="card">
|
||||
<h5>
|
||||
<i class="pi pi-info-circle mr-2"></i>
|
||||
Informations de Base
|
||||
</h5>
|
||||
|
||||
<div class="field">
|
||||
<p:outputLabel for="titre" value="Titre de l'événement" />
|
||||
<p:inputText id="titre" value="#{creationEvenementBean.evenement.titre}"
|
||||
required="true" placeholder="Ex: Assemblée Générale 2024" />
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<p:outputLabel for="type" value="Type d'événement" />
|
||||
<p:selectOneMenu id="type" value="#{creationEvenementBean.evenement.typeEvenement}" required="true">
|
||||
<f:selectItem itemLabel="Sélectionner..." itemValue="" />
|
||||
<f:selectItem itemLabel="🏛️ Assemblée Générale" itemValue="ASSEMBLEE_GENERALE" />
|
||||
<f:selectItem itemLabel="📋 Réunion" itemValue="REUNION" />
|
||||
<f:selectItem itemLabel="🎓 Formation" itemValue="FORMATION" />
|
||||
<f:selectItem itemLabel="🎉 Événement social" itemValue="SOCIAL" />
|
||||
<f:selectItem itemLabel="🏆 Cérémonie" itemValue="CEREMONIE" />
|
||||
<f:selectItem itemLabel="🚌 Sortie/Voyage" itemValue="SORTIE" />
|
||||
<f:selectItem itemLabel="🍽️ Repas" itemValue="REPAS" />
|
||||
<f:selectItem itemLabel="🔧 Autre" itemValue="AUTRE" />
|
||||
</p:selectOneMenu>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<p:outputLabel for="description" value="Description" />
|
||||
<p:inputTextarea id="description" value="#{creationEvenementBean.evenement.description}"
|
||||
rows="4" placeholder="Décrivez l'événement, son objectif et son déroulement..." />
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<p:outputLabel for="organisateur" value="Organisateur" />
|
||||
<p:inputText id="organisateur" value="#{creationEvenementBean.evenement.organisateur}"
|
||||
placeholder="Nom de l'organisateur principal" />
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<p:outputLabel for="priorite" value="Priorité" />
|
||||
<p:selectOneMenu id="priorite" value="#{creationEvenementBean.evenement.priorite}">
|
||||
<f:selectItem itemLabel="🔴 Haute" itemValue="HAUTE" />
|
||||
<f:selectItem itemLabel="🟡 Normale" itemValue="NORMALE" />
|
||||
<f:selectItem itemLabel="🟢 Basse" itemValue="BASSE" />
|
||||
</p:selectOneMenu>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Date, heure et lieu -->
|
||||
<div class="col-12 md:col-6">
|
||||
<div class="card">
|
||||
<h5>
|
||||
<i class="pi pi-calendar mr-2"></i>
|
||||
Date, Heure et Lieu
|
||||
</h5>
|
||||
|
||||
<div class="field">
|
||||
<p:outputLabel for="dateDebut" value="Date de début" />
|
||||
<p:calendar id="dateDebut" value="#{creationEvenementBean.evenement.dateDebut}"
|
||||
pattern="dd/MM/yyyy" showIcon="true" required="true"
|
||||
locale="fr" />
|
||||
</div>
|
||||
|
||||
<div class="formgrid grid">
|
||||
<div class="field col">
|
||||
<p:outputLabel for="heureDebut" value="Heure début" />
|
||||
<p:calendar id="heureDebut" value="#{creationEvenementBean.evenement.heureDebut}"
|
||||
pattern="HH:mm" timeOnly="true" showIcon="true" />
|
||||
</div>
|
||||
<div class="field col">
|
||||
<p:outputLabel for="heureFin" value="Heure fin" />
|
||||
<p:calendar id="heureFin" value="#{creationEvenementBean.evenement.heureFin}"
|
||||
pattern="HH:mm" timeOnly="true" showIcon="true" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<p:selectBooleanCheckbox id="evenementRecurrent" value="#{creationEvenementBean.evenement.recurrent}" />
|
||||
<p:outputLabel for="evenementRecurrent" value=" Événement récurrent" />
|
||||
</div>
|
||||
|
||||
<div class="field" style="display: #{creationEvenementBean.evenement.recurrent ? 'block' : 'none'};">
|
||||
<p:outputLabel for="frequenceRecurrence" value="Fréquence" />
|
||||
<p:selectOneMenu id="frequenceRecurrence" value="#{creationEvenementBean.evenement.frequenceRecurrence}">
|
||||
<f:selectItem itemLabel="Hebdomadaire" itemValue="HEBDOMADAIRE" />
|
||||
<f:selectItem itemLabel="Mensuel" itemValue="MENSUEL" />
|
||||
<f:selectItem itemLabel="Trimestriel" itemValue="TRIMESTRIEL" />
|
||||
<f:selectItem itemLabel="Annuel" itemValue="ANNUEL" />
|
||||
</p:selectOneMenu>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<p:outputLabel for="lieu" value="Lieu" />
|
||||
<p:inputText id="lieu" value="#{creationEvenementBean.evenement.lieu}"
|
||||
required="true" placeholder="Ex: Salle de réunion, Hôtel..." />
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<p:outputLabel for="adresse" value="Adresse complète" />
|
||||
<p:inputTextarea id="adresse" value="#{creationEvenementBean.evenement.adresse}"
|
||||
rows="3" placeholder="Adresse précise avec ville et points de repère" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Configuration des participants -->
|
||||
<div class="col-12 md:col-6">
|
||||
<div class="card">
|
||||
<h5>
|
||||
<i class="pi pi-users mr-2"></i>
|
||||
Participants et Inscription
|
||||
</h5>
|
||||
|
||||
<div class="field">
|
||||
<p:outputLabel for="placesMax" value="Nombre maximum de places" />
|
||||
<p:inputNumber id="placesMax" value="#{creationEvenementBean.evenement.placesMax}"
|
||||
symbol="" min="1" max="10000" />
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<p:selectBooleanCheckbox id="inscriptionRequise" value="#{creationEvenementBean.evenement.inscriptionRequise}" />
|
||||
<p:outputLabel for="inscriptionRequise" value=" Inscription obligatoire" />
|
||||
</div>
|
||||
|
||||
<div class="field" style="display: #{creationEvenementBean.evenement.inscriptionRequise ? 'block' : 'none'};">
|
||||
<p:outputLabel for="dateLimiteInscription" value="Date limite d'inscription" />
|
||||
<p:calendar id="dateLimiteInscription" value="#{creationEvenementBean.evenement.dateLimiteInscription}"
|
||||
pattern="dd/MM/yyyy HH:mm" showIcon="true" locale="fr" />
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<p:outputLabel for="publicCible" value="Public cible" />
|
||||
<p:selectCheckboxMenu id="publicCible" value="#{creationEvenementBean.evenement.publicCible}"
|
||||
multiple="true" filter="true" filterMatchMode="contains">
|
||||
<f:selectItem itemLabel="Tous les membres" itemValue="TOUS" />
|
||||
<f:selectItem itemLabel="Membres actifs" itemValue="ACTIFS" />
|
||||
<f:selectItem itemLabel="Membres bienfaiteurs" itemValue="BIENFAITEURS" />
|
||||
<f:selectItem itemLabel="Membres honoraires" itemValue="HONORAIRES" />
|
||||
<f:selectItem itemLabel="Bureau exécutif" itemValue="BUREAU" />
|
||||
<f:selectItem itemLabel="Invités externes" itemValue="INVITES" />
|
||||
</p:selectCheckboxMenu>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<p:selectBooleanCheckbox id="listeAttente" value="#{creationEvenementBean.evenement.listeAttente}" />
|
||||
<p:outputLabel for="listeAttente" value=" Activer liste d'attente si complet" />
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<p:outputLabel for="accompagnateurs" value="Nombre d'accompagnateurs autorisés" />
|
||||
<p:inputNumber id="accompagnateurs" value="#{creationEvenementBean.evenement.accompagnateursMax}"
|
||||
symbol="" min="0" max="10" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Tarification -->
|
||||
<div class="col-12 md:col-6">
|
||||
<div class="card">
|
||||
<h5>
|
||||
<i class="pi pi-dollar mr-2"></i>
|
||||
Tarification et Paiement
|
||||
</h5>
|
||||
|
||||
<div class="field">
|
||||
<p:selectBooleanCheckbox id="evenementPayant" value="#{creationEvenementBean.evenement.payant}" />
|
||||
<p:outputLabel for="evenementPayant" value=" Événement payant" />
|
||||
</div>
|
||||
|
||||
<div class="field" style="display: #{creationEvenementBean.evenement.payant ? 'block' : 'none'};">
|
||||
<p:outputLabel for="prix" value="Prix par personne" />
|
||||
<p:inputNumber id="prix" value="#{creationEvenementBean.evenement.prix}"
|
||||
symbol=" FCFA" symbolPosition="s" min="0" />
|
||||
</div>
|
||||
|
||||
<div class="field" style="display: #{creationEvenementBean.evenement.payant ? 'block' : 'none'};">
|
||||
<p:outputLabel for="tarificationDifferenciee" value="Tarification différenciée" />
|
||||
<p:selectBooleanCheckbox id="tarificationDifferenciee" value="#{creationEvenementBean.evenement.tarificationDifferenciee}" />
|
||||
<p:outputLabel for="tarificationDifferenciee" value=" Activer tarifs différents selon le type de membre" />
|
||||
</div>
|
||||
|
||||
<div class="field" style="display: #{creationEvenementBean.evenement.tarificationDifferenciee ? 'block' : 'none'};">
|
||||
<h6>Tarifs par catégorie</h6>
|
||||
<div class="formgrid grid">
|
||||
<div class="field col-6">
|
||||
<p:outputLabel value="Membres actifs" />
|
||||
<p:inputNumber value="#{creationEvenementBean.evenement.prixMembresActifs}"
|
||||
symbol=" FCFA" symbolPosition="s" />
|
||||
</div>
|
||||
<div class="field col-6">
|
||||
<p:outputLabel value="Membres associés" />
|
||||
<p:inputNumber value="#{creationEvenementBean.evenement.prixMembresAssocies}"
|
||||
symbol=" FCFA" symbolPosition="s" />
|
||||
</div>
|
||||
<div class="field col-6">
|
||||
<p:outputLabel value="Invités externes" />
|
||||
<p:inputNumber value="#{creationEvenementBean.evenement.prixInvites}"
|
||||
symbol=" FCFA" symbolPosition="s" />
|
||||
</div>
|
||||
<div class="field col-6">
|
||||
<p:outputLabel value="Accompagnateurs" />
|
||||
<p:inputNumber value="#{creationEvenementBean.evenement.prixAccompagnateurs}"
|
||||
symbol=" FCFA" symbolPosition="s" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="field" style="display: #{creationEvenementBean.evenement.payant ? 'block' : 'none'};">
|
||||
<p:outputLabel for="modesPaiement" value="Modes de paiement acceptés" />
|
||||
<p:selectCheckboxMenu id="modesPaiement" value="#{creationEvenementBean.evenement.modesPaiement}"
|
||||
multiple="true">
|
||||
<f:selectItem itemLabel="💰 Espèces" itemValue="ESPECES" />
|
||||
<f:selectItem itemLabel="📱 Wave Money" itemValue="WAVE" />
|
||||
<f:selectItem itemLabel="🏦 Virement bancaire" itemValue="VIREMENT" />
|
||||
<f:selectItem itemLabel="💳 Chèque" itemValue="CHEQUE" />
|
||||
<f:selectItem itemLabel="💸 Prélèvement automatique" itemValue="PRELEVEMENT" />
|
||||
</p:selectCheckboxMenu>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Notifications et communication -->
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<h5>
|
||||
<i class="pi pi-bell mr-2"></i>
|
||||
Notifications et Communication
|
||||
</h5>
|
||||
|
||||
<div class="grid">
|
||||
<div class="col-12 md:col-6">
|
||||
<div class="field">
|
||||
<p:selectBooleanCheckbox id="notifierCreation" value="#{creationEvenementBean.evenement.notifierCreation}" />
|
||||
<p:outputLabel for="notifierCreation" value=" Notifier immédiatement la création" />
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<p:outputLabel for="canauxNotification" value="Canaux de notification" />
|
||||
<p:selectCheckboxMenu id="canauxNotification" value="#{creationEvenementBean.evenement.canauxNotification}"
|
||||
multiple="true">
|
||||
<f:selectItem itemLabel="📧 Email" itemValue="EMAIL" />
|
||||
<f:selectItem itemLabel="📱 SMS" itemValue="SMS" />
|
||||
<f:selectItem itemLabel="💬 WhatsApp" itemValue="WHATSAPP" />
|
||||
<f:selectItem itemLabel="🔔 Notification push" itemValue="PUSH" />
|
||||
</p:selectCheckboxMenu>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<p:outputLabel for="messagePersonnalise" value="Message personnalisé" />
|
||||
<p:inputTextarea id="messagePersonnalise" value="#{creationEvenementBean.evenement.messagePersonnalise}"
|
||||
rows="4" placeholder="Message d'invitation personnalisé..." />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 md:col-6">
|
||||
<h6>Rappels automatiques</h6>
|
||||
|
||||
<div class="field">
|
||||
<p:selectBooleanCheckbox id="rappelJ7" value="#{creationEvenementBean.evenement.rappelJ7}" />
|
||||
<p:outputLabel for="rappelJ7" value=" Rappel 7 jours avant" />
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<p:selectBooleanCheckbox id="rappelJ3" value="#{creationEvenementBean.evenement.rappelJ3}" />
|
||||
<p:outputLabel for="rappelJ3" value=" Rappel 3 jours avant" />
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<p:selectBooleanCheckbox id="rappelJ1" value="#{creationEvenementBean.evenement.rappelJ1}" />
|
||||
<p:outputLabel for="rappelJ1" value=" Rappel 1 jour avant" />
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<p:selectBooleanCheckbox id="rappelH2" value="#{creationEvenementBean.evenement.rappelH2}" />
|
||||
<p:outputLabel for="rappelH2" value=" Rappel 2 heures avant" />
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<p:selectBooleanCheckbox id="notificationSuivi" value="#{creationEvenementBean.evenement.notificationSuivi}" />
|
||||
<p:outputLabel for="notificationSuivi" value=" Envoyer bilan après l'événement" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Documents et pièces jointes -->
|
||||
<div class="col-12">
|
||||
<div class="card">
|
||||
<h5>
|
||||
<i class="pi pi-file mr-2"></i>
|
||||
Documents et Pièces Jointes
|
||||
</h5>
|
||||
|
||||
<div class="grid">
|
||||
<div class="col-12 md:col-6">
|
||||
<div class="field">
|
||||
<p:outputLabel for="programme" value="Programme détaillé" />
|
||||
<p:fileUpload id="programme" mode="simple" skinSimple="true"
|
||||
accept="application/pdf,application/msword,application/vnd.openxmlformats-officedocument.wordprocessingml.document" />
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<p:outputLabel for="invitation" value="Carte d'invitation" />
|
||||
<p:fileUpload id="invitation" mode="simple" skinSimple="true"
|
||||
accept="image/*,application/pdf" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 md:col-6">
|
||||
<div class="field">
|
||||
<p:outputLabel for="documentsComplementaires" value="Documents complémentaires" />
|
||||
<p:fileUpload id="documentsComplementaires" mode="advanced"
|
||||
multiple="true" dragDropSupport="true"
|
||||
uploadLabel="Télécharger" cancelLabel="Annuler" chooseLabel="Sélectionner"
|
||||
sizeLimit="10000000" fileLimit="5" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Actions -->
|
||||
<div class="card">
|
||||
<h5>Finalisation</h5>
|
||||
<div class="surface-50 p-4 border-round mb-4">
|
||||
<div class="flex align-items-center">
|
||||
<i class="pi pi-info-circle text-blue-500 mr-3"></i>
|
||||
<div>
|
||||
<div class="font-medium text-900">Vérifiez toutes les informations</div>
|
||||
<div class="text-600">L'événement sera créé avec le statut "Planifié" et pourra être modifié ultérieurement</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-wrap gap-2">
|
||||
<p:commandButton value="🎯 Créer l'événement" icon="pi pi-check"
|
||||
styleClass="ui-button ui-button-success"
|
||||
action="#{creationEvenementBean.creerEvenement}"
|
||||
update="messages"
|
||||
disabled="#{!creationEvenementBean.formulaireValide}" />
|
||||
|
||||
<p:commandButton value="💾 Enregistrer brouillon" icon="pi pi-save"
|
||||
styleClass="ui-button ui-button-outlined ui-button-info"
|
||||
action="#{creationEvenementBean.enregistrerBrouillon}"
|
||||
update="messages" />
|
||||
|
||||
<p:commandButton value="👁️ Prévisualiser" icon="pi pi-eye"
|
||||
styleClass="ui-button ui-button-outlined ui-button-warning"
|
||||
onclick="PF('dlgPreview').show();"
|
||||
type="button" />
|
||||
|
||||
<p:commandButton value="🔄 Réinitialiser" icon="pi pi-refresh"
|
||||
styleClass="ui-button ui-button-outlined ui-button-secondary"
|
||||
type="reset"
|
||||
onclick="return confirm('Êtes-vous sûr de vouloir réinitialiser le formulaire ?');" />
|
||||
|
||||
<p:commandButton value="❌ Annuler" icon="pi pi-times"
|
||||
styleClass="ui-button ui-button-outlined ui-button-danger"
|
||||
action="/pages/admin/evenements/liste?faces-redirect=true"
|
||||
immediate="true"
|
||||
onclick="return confirm('Êtes-vous sûr de vouloir annuler la création ?');" />
|
||||
</div>
|
||||
|
||||
<div class="mt-4 text-600">
|
||||
<small>
|
||||
<i class="pi pi-shield mr-1"></i>
|
||||
Les données de l'événement sont sécurisées et conformes RGPD
|
||||
</small>
|
||||
</div>
|
||||
</div>
|
||||
</h:form>
|
||||
|
||||
<!-- Dialog Prévisualisation -->
|
||||
<p:dialog header="Prévisualisation de l'événement" widgetVar="dlgPreview" modal="true" width="800" height="600">
|
||||
<h:form id="formPreview">
|
||||
<div class="card border-none p-0">
|
||||
<div class="flex align-items-start mb-4">
|
||||
<div class="border-round p-3 mr-3" style="background: var(--primary-color);">
|
||||
<i class="pi pi-calendar text-white text-2xl"></i>
|
||||
</div>
|
||||
<div class="flex-1">
|
||||
<h4 class="mt-0 mb-2">#{creationEvenementBean.evenement.titre}</h4>
|
||||
<div class="text-600 mb-2">#{creationEvenementBean.evenement.typeEvenementLibelle}</div>
|
||||
<p:tag value="#{creationEvenementBean.evenement.priorite}"
|
||||
severity="#{creationEvenementBean.evenement.prioriteSeverity}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="grid">
|
||||
<div class="col-12 md:col-6">
|
||||
<h6>📅 Date et Heure</h6>
|
||||
<p>#{creationEvenementBean.evenement.dateCompleteFormatee}</p>
|
||||
|
||||
<h6>📍 Lieu</h6>
|
||||
<p>#{creationEvenementBean.evenement.lieu}</p>
|
||||
<small class="text-600">#{creationEvenementBean.evenement.adresse}</small>
|
||||
|
||||
<h6>👥 Participants</h6>
|
||||
<p>Maximum #{creationEvenementBean.evenement.placesMax} places</p>
|
||||
<p>Public: #{creationEvenementBean.evenement.publicCibleFormate}</p>
|
||||
</div>
|
||||
|
||||
<div class="col-12 md:col-6">
|
||||
<h6>💰 Tarification</h6>
|
||||
<p>
|
||||
<span class="text-green-500 font-bold" rendered="#{!creationEvenementBean.evenement.payant}">Gratuit</span>
|
||||
<span rendered="#{creationEvenementBean.evenement.payant}">
|
||||
Prix: #{creationEvenementBean.evenement.prix} FCFA
|
||||
</span>
|
||||
</p>
|
||||
|
||||
<h6>🔔 Notifications</h6>
|
||||
<p>Canaux: #{creationEvenementBean.evenement.canauxNotificationFormates}</p>
|
||||
|
||||
<h6>👨💼 Organisateur</h6>
|
||||
<p>#{creationEvenementBean.evenement.organisateur}</p>
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<h6>📝 Description</h6>
|
||||
<p class="line-height-3">#{creationEvenementBean.evenement.description}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex gap-2 mt-4">
|
||||
<p:commandButton value="Modifier" icon="pi pi-pencil"
|
||||
styleClass="ui-button-warning"
|
||||
onclick="PF('dlgPreview').hide();"
|
||||
type="button" />
|
||||
<p:commandButton value="Créer maintenant" icon="pi pi-check"
|
||||
styleClass="ui-button-success"
|
||||
action="#{creationEvenementBean.creerEvenement}"
|
||||
update=":formCreation:messages"
|
||||
oncomplete="if(!args.validationFailed) PF('dlgPreview').hide();" />
|
||||
<p:commandButton value="Fermer" icon="pi pi-times"
|
||||
styleClass="ui-button-secondary"
|
||||
onclick="PF('dlgPreview').hide();"
|
||||
type="button" />
|
||||
</div>
|
||||
</h:form>
|
||||
</p:dialog>
|
||||
</ui:define>
|
||||
|
||||
</ui:composition>
|
||||
Reference in New Issue
Block a user