159 lines
8.5 KiB
HTML
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>
|