Files

159 lines
8.5 KiB
HTML

<!DOCTYPE html>
<ui:composition template="/templates/main-template.xhtml"
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">
<ui:param name="page" value="#{demandesAideBean}"/>
<ui:define name="title">Demande d'Aide - UnionFlow</ui:define>
<ui:define name="content">
<h:form id="formDemande">
<p:messages id="messages" showDetail="true" closable="true"/>
<!-- En-tête -->
<div class="card mb-3">
<div class="flex justify-content-between align-items-center flex-column md:flex-row">
<div>
<h3 class="m-0">
<i class="pi pi-heart text-primary mr-2"></i>
Nouvelle Demande d'Aide
</h3>
<p class="text-600 m-0 mt-2">
Soumettez une demande d'aide pour vous ou un membre de votre organisation
</p>
</div>
</div>
</div>
<!-- Formulaire de demande -->
<div class="card">
<h5 class="mb-3">Informations de la Demande</h5>
<div class="grid">
<div class="col-12 md:col-6">
<div class="field">
<p:outputLabel for="typeAide" value="Type d'aide *"/>
<p:selectOneMenu id="typeAide" value="#{demandesAideBean.nouvelleDemande.type}" styleClass="w-full">
<f:selectItem itemLabel="Sélectionnez un type" itemValue=""/>
<f:selectItem itemLabel="Aide Médicale" itemValue="AIDE_MEDICALE"/>
<f:selectItem itemLabel="Aide Alimentaire" itemValue="AIDE_ALIMENTAIRE"/>
<f:selectItem itemLabel="Aide Éducative" itemValue="AIDE_EDUCATIVE"/>
<f:selectItem itemLabel="Aide Logement" itemValue="AIDE_LOGEMENT"/>
<f:selectItem itemLabel="Aide d'Urgence" itemValue="AIDE_URGENCE"/>
</p:selectOneMenu>
</div>
</div>
<div class="col-12 md:col-6">
<div class="field">
<p:outputLabel for="urgence" value="Niveau d'urgence *"/>
<p:selectOneMenu id="urgence" value="#{demandesAideBean.nouvelleDemande.urgence}" styleClass="w-full">
<f:selectItem itemLabel="Sélectionnez un niveau" itemValue=""/>
<f:selectItem itemLabel="Faible" itemValue="FAIBLE"/>
<f:selectItem itemLabel="Moyenne" itemValue="MOYENNE"/>
<f:selectItem itemLabel="Haute" itemValue="HAUTE"/>
<f:selectItem itemLabel="Critique" itemValue="CRITIQUE"/>
</p:selectOneMenu>
</div>
</div>
<div class="col-12 md:col-6">
<div class="field">
<p:outputLabel for="demandeur" value="Nom du demandeur *"/>
<p:inputText id="demandeur" value="#{demandesAideBean.nouvelleDemande.demandeur}"
styleClass="w-full" required="true"/>
</div>
</div>
<div class="col-12 md:col-6">
<div class="field">
<p:outputLabel for="telephone" value="Téléphone *"/>
<p:inputText id="telephone" value="#{demandesAideBean.nouvelleDemande.telephone}"
styleClass="w-full" required="true"/>
</div>
</div>
<div class="col-12 md:col-6">
<div class="field">
<p:outputLabel for="email" value="Email"/>
<p:inputText id="email" value="#{demandesAideBean.nouvelleDemande.email}"
styleClass="w-full"/>
</div>
</div>
<div class="col-12 md:col-6">
<div class="field">
<p:outputLabel for="localisation" value="Localisation *"/>
<p:inputText id="localisation" value="#{demandesAideBean.nouvelleDemande.localisation}"
styleClass="w-full" required="true"/>
</div>
</div>
<div class="col-12 md:col-6">
<div class="field">
<p:outputLabel for="montantDemande" value="Montant demandé (FCFA) *"/>
<p:inputNumber id="montantDemande" value="#{demandesAideBean.nouvelleDemande.montantDemande}"
styleClass="w-full" required="true" minValue="0"/>
</div>
</div>
<div class="col-12 md:col-6">
<div class="field">
<p:outputLabel for="dateLimite" value="Date limite souhaitée"/>
<p:calendar id="dateLimite" value="#{demandesAideBean.nouvelleDemande.dateLimite}"
styleClass="w-full" pattern="dd/MM/yyyy"/>
</div>
</div>
<div class="col-12">
<div class="field">
<p:outputLabel for="motif" value="Motif de la demande *"/>
<p:inputText id="motif" value="#{demandesAideBean.nouvelleDemande.motif}"
styleClass="w-full" required="true"/>
</div>
</div>
<div class="col-12">
<div class="field">
<p:outputLabel for="description" value="Description détaillée *"/>
<p:inputTextarea id="description" value="#{demandesAideBean.nouvelleDemande.description}"
rows="5" styleClass="w-full" required="true"/>
</div>
</div>
</div>
<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="dashboardPage"/>
</ui:include>
<p:commandButton value="Soumettre la demande"
icon="pi pi-send"
styleClass="ui-button-success"
action="#{demandesAideBean.creerDemande}"
update="@form"
oncomplete="if(!args.validationFailed) {PF('dlgConfirmation').show();}"/>
</div>
</div>
</h:form>
<!-- Dialog de confirmation -->
<p:dialog header="Demande soumise" widgetVar="dlgConfirmation" modal="true" width="400">
<div class="text-center p-4">
<i class="pi pi-check-circle text-green-500 text-6xl mb-3"></i>
<h4 class="mb-2">Votre demande a été soumise avec succès</h4>
<p class="text-600">Elle sera traitée dans les plus brefs délais.</p>
<div class="flex justify-content-center gap-2 mt-4">
<p:commandButton value="OK"
styleClass="ui-button-primary"
onclick="PF('dlgConfirmation').hide(); window.location.href='#{request.contextPath}/pages/secure/dashboard.xhtml';"/>
</div>
</div>
</p:dialog>
</ui:define>
</ui:composition>