Configure Maven repository for unionflow-server-api dependency
This commit is contained in:
@@ -0,0 +1,558 @@
|
||||
<!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">Gestion des Demandes d'Aide - 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-heart text-red-500 mr-2"></i>
|
||||
Gestion des Demandes d'Aide
|
||||
</h3>
|
||||
<p class="text-600 m-0">Traitement et suivi des demandes d'assistance</p>
|
||||
</div>
|
||||
<h:form id="formActionsEntete">
|
||||
<div class="flex gap-2">
|
||||
<p:commandButton value="Nouvelle demande"
|
||||
icon="pi pi-plus"
|
||||
styleClass="ui-button-success"
|
||||
onclick="PF('dlgNouvelleDemande').show();" />
|
||||
<p:commandButton value="Import demandes"
|
||||
icon="pi pi-upload"
|
||||
styleClass="ui-button-outlined ui-button-info"
|
||||
onclick="PF('dlgImportDemandes').show();" />
|
||||
<p:commandButton value="Exporter"
|
||||
icon="pi pi-download"
|
||||
styleClass="ui-button-outlined ui-button-secondary"
|
||||
action="#{demandesAideBean.exporterDemandes}" />
|
||||
</div>
|
||||
</h:form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Statistiques -->
|
||||
<div class="grid">
|
||||
<div class="col-12 md:col-3">
|
||||
<div class="card bg-blue-100 border-left-3 border-blue-500">
|
||||
<div class="flex justify-content-between">
|
||||
<div>
|
||||
<div class="text-blue-900 font-bold text-xl">#{demandesAideBean.statistiques.totalDemandes}</div>
|
||||
<div class="text-blue-700">Total Demandes</div>
|
||||
</div>
|
||||
<div class="bg-blue-500 text-white border-round text-center"
|
||||
style="width: 2.5rem; height: 2.5rem; line-height: 2.5rem;">
|
||||
<i class="pi pi-list text-lg"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 md:col-3">
|
||||
<div class="card bg-orange-100 border-left-3 border-orange-500">
|
||||
<div class="flex justify-content-between">
|
||||
<div>
|
||||
<div class="text-orange-900 font-bold text-xl">#{demandesAideBean.statistiques.demandesEnAttente}</div>
|
||||
<div class="text-orange-700">En Attente</div>
|
||||
</div>
|
||||
<div class="bg-orange-500 text-white border-round text-center"
|
||||
style="width: 2.5rem; height: 2.5rem; line-height: 2.5rem;">
|
||||
<i class="pi pi-clock text-lg"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 md:col-3">
|
||||
<div class="card bg-green-100 border-left-3 border-green-500">
|
||||
<div class="flex justify-content-between">
|
||||
<div>
|
||||
<div class="text-green-900 font-bold text-xl">#{demandesAideBean.statistiques.demandesApprouvees}</div>
|
||||
<div class="text-green-700">Approuvées</div>
|
||||
</div>
|
||||
<div class="bg-green-500 text-white border-round text-center"
|
||||
style="width: 2.5rem; height: 2.5rem; line-height: 2.5rem;">
|
||||
<i class="pi pi-check text-lg"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12 md:col-3">
|
||||
<div class="card bg-purple-100 border-left-3 border-purple-500">
|
||||
<div class="flex justify-content-between">
|
||||
<div>
|
||||
<div class="text-purple-900 font-bold text-xl">#{demandesAideBean.statistiques.montantTotalAide}</div>
|
||||
<div class="text-purple-700">Aide Accordée</div>
|
||||
</div>
|
||||
<div class="bg-purple-500 text-white border-round text-center"
|
||||
style="width: 2.5rem; height: 2.5rem; line-height: 2.5rem;">
|
||||
<i class="pi pi-dollar text-lg"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Demandes prioritaires -->
|
||||
<div class="card">
|
||||
<h5>🚨 Demandes Prioritaires</h5>
|
||||
<div class="grid">
|
||||
<ui:repeat value="#{demandesAideBean.demandesPrioritaires}" var="demande" varStatus="status">
|
||||
<div class="col-12 md:col-6 lg:col-4">
|
||||
<div class="card border-left-3 border-#{demande.urgenceSeverity} hover:surface-50 transition-colors transition-duration-150">
|
||||
<div class="flex align-items-start justify-content-between mb-3">
|
||||
<div class="flex align-items-center">
|
||||
<div class="bg-#{demande.urgenceSeverity} text-white border-round flex align-items-center justify-content-center mr-3"
|
||||
style="width: 2.5rem; height: 2.5rem;">
|
||||
<i class="pi #{demande.typeIcon}"></i>
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="text-900 m-0 mb-1">#{demande.demandeur}</h6>
|
||||
<p:tag value="#{demande.typeLibelle}" severity="#{demande.typeSeverity}" />
|
||||
</div>
|
||||
</div>
|
||||
<p:tag value="#{demande.urgence}" severity="#{demande.urgenceSeverity}" />
|
||||
</div>
|
||||
|
||||
<div class="text-600 mb-3">
|
||||
<div class="flex align-items-center mb-2">
|
||||
<i class="pi pi-calendar mr-2"></i>
|
||||
<span>#{demande.dateDemandeFormatee}</span>
|
||||
</div>
|
||||
<div class="flex align-items-center mb-2">
|
||||
<i class="pi pi-map-marker mr-2"></i>
|
||||
<span>#{demande.localisation}</span>
|
||||
</div>
|
||||
<div class="flex align-items-center">
|
||||
<i class="pi pi-dollar mr-2"></i>
|
||||
<span>#{demande.montantDemandeFormatte}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="text-sm text-600 mb-3">
|
||||
#{demande.motif}
|
||||
</div>
|
||||
|
||||
<div class="flex justify-content-between align-items-center">
|
||||
<span class="text-600 text-sm">#{demande.joursDepuisDemande} jours</span>
|
||||
<h:form>
|
||||
<div class="flex gap-1">
|
||||
<p:commandButton icon="pi pi-eye"
|
||||
styleClass="ui-button-rounded ui-button-text ui-button-info"
|
||||
title="Voir détails">
|
||||
<f:setPropertyActionListener target="#{demandesAideBean.demandeSelectionnee}" value="#{demande}" />
|
||||
</p:commandButton>
|
||||
<p:commandButton icon="pi pi-check"
|
||||
styleClass="ui-button-rounded ui-button-text ui-button-success"
|
||||
title="Approuver"
|
||||
action="#{demandesAideBean.approuverDemande}">
|
||||
<f:setPropertyActionListener target="#{demandesAideBean.demandeSelectionnee}" value="#{demande}" />
|
||||
</p:commandButton>
|
||||
</div>
|
||||
</h:form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ui:repeat>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Workflow des demandes -->
|
||||
<div class="card">
|
||||
<h5>📋 Workflow de Traitement</h5>
|
||||
<div class="grid">
|
||||
<ui:repeat value="#{demandesAideBean.etapesWorkflow}" var="etape" varStatus="status">
|
||||
<div class="col-12 md:col-2">
|
||||
<div class="text-center p-3">
|
||||
<div class="bg-#{etape.couleur} text-white border-round flex align-items-center justify-content-center mx-auto mb-3"
|
||||
style="width: 3rem; height: 3rem;">
|
||||
<i class="pi #{etape.icon} text-xl"></i>
|
||||
</div>
|
||||
<h6 class="text-900 mb-2">#{etape.libelle}</h6>
|
||||
<div class="text-2xl font-bold text-#{etape.couleur} mb-1">#{etape.nombre}</div>
|
||||
<div class="text-600 text-sm">demandes</div>
|
||||
</div>
|
||||
<div class="text-center" rendered="#{status.index lt demandesAideBean.etapesWorkflow.size() - 1}">
|
||||
<i class="pi pi-arrow-right text-300"></i>
|
||||
</div>
|
||||
</div>
|
||||
</ui:repeat>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Filtres et recherche -->
|
||||
<div class="card">
|
||||
<h5>Filtres et Recherche</h5>
|
||||
<h:form id="formFiltres">
|
||||
<div class="ui-fluid">
|
||||
<div class="grid">
|
||||
<div class="col-12 md:col-3">
|
||||
<div class="field">
|
||||
<p:outputLabel for="searchDemandeur" value="Demandeur" />
|
||||
<p:inputText id="searchDemandeur" value="#{demandesAideBean.filtres.demandeur}"
|
||||
placeholder="Rechercher par nom...">
|
||||
<p:ajax event="keyup" update="dtDemandes @(.stats-summary)" />
|
||||
</p:inputText>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 md:col-3">
|
||||
<div class="field">
|
||||
<p:outputLabel for="filterType" value="Type d'aide" />
|
||||
<p:selectOneMenu id="filterType" value="#{demandesAideBean.filtres.type}">
|
||||
<f:selectItem itemLabel="Tous les types" 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:ajax update="dtDemandes @(.stats-summary)" />
|
||||
</p:selectOneMenu>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 md:col-3">
|
||||
<div class="field">
|
||||
<p:outputLabel for="filterStatut" value="Statut" />
|
||||
<p:selectOneMenu id="filterStatut" value="#{demandesAideBean.filtres.statut}">
|
||||
<f:selectItem itemLabel="Tous les statuts" itemValue="" />
|
||||
<f:selectItem itemLabel="En attente" itemValue="EN_ATTENTE" />
|
||||
<f:selectItem itemLabel="En évaluation" itemValue="EN_EVALUATION" />
|
||||
<f:selectItem itemLabel="Approuvée" itemValue="APPROUVEE" />
|
||||
<f:selectItem itemLabel="Rejetée" itemValue="REJETEE" />
|
||||
<f:selectItem itemLabel="En cours" itemValue="EN_COURS" />
|
||||
<f:selectItem itemLabel="Terminée" itemValue="TERMINEE" />
|
||||
<p:ajax update="dtDemandes @(.stats-summary)" />
|
||||
</p:selectOneMenu>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 md:col-3">
|
||||
<div class="field">
|
||||
<p:outputLabel for="filterUrgence" value="Urgence" />
|
||||
<p:selectOneMenu id="filterUrgence" value="#{demandesAideBean.filtres.urgence}">
|
||||
<f:selectItem itemLabel="Toutes les urgences" itemValue="" />
|
||||
<f:selectItem itemLabel="Faible" itemValue="FAIBLE" />
|
||||
<f:selectItem itemLabel="Normale" itemValue="NORMALE" />
|
||||
<f:selectItem itemLabel="Élevée" itemValue="ELEVEE" />
|
||||
<f:selectItem itemLabel="Critique" itemValue="CRITIQUE" />
|
||||
<p:ajax update="dtDemandes @(.stats-summary)" />
|
||||
</p:selectOneMenu>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="grid">
|
||||
<div class="col-12 md:col-4">
|
||||
<div class="field">
|
||||
<p:outputLabel for="filterDateDebut" value="Date début" />
|
||||
<p:datePicker id="filterDateDebut" value="#{demandesAideBean.filtres.dateDebut}"
|
||||
placeholder="Sélectionner une date">
|
||||
<p:ajax update="dtDemandes @(.stats-summary)" />
|
||||
</p:datePicker>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 md:col-4">
|
||||
<div class="field">
|
||||
<p:outputLabel for="filterDateFin" value="Date fin" />
|
||||
<p:datePicker id="filterDateFin" value="#{demandesAideBean.filtres.dateFin}"
|
||||
placeholder="Sélectionner une date">
|
||||
<p:ajax update="dtDemandes @(.stats-summary)" />
|
||||
</p:datePicker>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 md:col-4">
|
||||
<div class="field">
|
||||
<p:outputLabel for="filterLocalisation" value="Localisation" />
|
||||
<p:inputText id="filterLocalisation" value="#{demandesAideBean.filtres.localisation}"
|
||||
placeholder="Filtrer par zone...">
|
||||
<p:ajax event="keyup" update="dtDemandes @(.stats-summary)" />
|
||||
</p:inputText>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex gap-2 mt-3">
|
||||
<p:commandButton value="Rechercher"
|
||||
icon="pi pi-search"
|
||||
styleClass="ui-button-primary"
|
||||
action="#{demandesAideBean.rechercher}"
|
||||
update="dtDemandes @(.stats-summary)" />
|
||||
<p:commandButton value="Réinitialiser"
|
||||
icon="pi pi-refresh"
|
||||
styleClass="ui-button-outlined ui-button-secondary"
|
||||
action="#{demandesAideBean.reinitialiserFiltres}"
|
||||
update="@form dtDemandes @(.stats-summary)" />
|
||||
</div>
|
||||
</div>
|
||||
</h:form>
|
||||
</div>
|
||||
|
||||
<!-- Liste des demandes -->
|
||||
<div class="card">
|
||||
<div class="flex align-items-center justify-content-between mb-3">
|
||||
<h5 class="m-0">Demandes d'Aide (#{demandesAideBean.demandesFiltrees.size()})</h5>
|
||||
<div class="flex align-items-center gap-2">
|
||||
<h:form id="formActionsGroupees">
|
||||
<p:commandButton value="Actions groupées"
|
||||
icon="pi pi-cog"
|
||||
styleClass="ui-button-outlined ui-button-warning"
|
||||
onclick="PF('dlgActionsGroupees').show();"
|
||||
disabled="#{empty demandesAideBean.demandesSelectionnees}" />
|
||||
</h:form>
|
||||
<span class="text-600 text-sm stats-summary">
|
||||
#{demandesAideBean.demandesFiltrees.size()} sur #{demandesAideBean.toutesLesDemandes.size()} demandes
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p:dataTable id="dtDemandes"
|
||||
value="#{demandesAideBean.demandesFiltrees}"
|
||||
var="demande"
|
||||
selection="#{demandesAideBean.demandesSelectionnees}"
|
||||
rowKey="#{demande.id}"
|
||||
paginator="true"
|
||||
rows="15"
|
||||
paginatorPosition="both"
|
||||
sortMode="single"
|
||||
styleClass="p-datatable-sm"
|
||||
emptyMessage="Aucune demande trouvée">
|
||||
|
||||
<p:column selectionMode="multiple" width="40" />
|
||||
|
||||
<p:column headerText="Demandeur" sortBy="#{demande.demandeur}" width="200">
|
||||
<div class="flex align-items-center">
|
||||
<div class="border-circle bg-primary text-white flex align-items-center justify-content-center mr-3"
|
||||
style="width: 32px; height: 32px;">
|
||||
<i class="pi pi-user"></i>
|
||||
</div>
|
||||
<div>
|
||||
<div class="text-900 font-medium">#{demande.demandeur}</div>
|
||||
<div class="text-600 text-sm">#{demande.telephone}</div>
|
||||
</div>
|
||||
</div>
|
||||
</p:column>
|
||||
|
||||
<p:column headerText="Type d'aide" sortBy="#{demande.type}" width="130">
|
||||
<p:tag value="#{demande.typeLibelle}"
|
||||
severity="#{demande.typeSeverity}"
|
||||
icon="pi #{demande.typeIcon}" />
|
||||
</p:column>
|
||||
|
||||
<p:column headerText="Motif" width="250">
|
||||
<div class="text-900 text-sm">#{demande.motif}</div>
|
||||
<div class="text-600 text-xs" rendered="#{demande.description != null and demande.description.length() > 0}">
|
||||
#{demande.description.length() > 50 ? demande.description.substring(0, 50) + '...' : demande.description}
|
||||
</div>
|
||||
</p:column>
|
||||
|
||||
<p:column headerText="Montant" sortBy="#{demande.montantDemande}" width="100">
|
||||
<div class="text-900 text-sm text-right font-bold">#{demande.montantDemandeFormatte}</div>
|
||||
<div class="text-600 text-xs text-right" rendered="#{demande.montantAccorde != null}">
|
||||
Accordé: #{demande.montantAccordeFormatte}
|
||||
</div>
|
||||
</p:column>
|
||||
|
||||
<p:column headerText="Date demande" sortBy="#{demande.dateDemande}" width="100">
|
||||
<div class="text-900 text-sm">#{demande.dateDemandeFormatee}</div>
|
||||
<div class="text-600 text-xs">#{demande.joursDepuisDemande} jours</div>
|
||||
</p:column>
|
||||
|
||||
<p:column headerText="Localisation" width="120">
|
||||
<div class="text-900 text-sm">#{demande.localisation}</div>
|
||||
</p:column>
|
||||
|
||||
<p:column headerText="Urgence" sortBy="#{demande.urgence}" width="80">
|
||||
<p:tag value="#{demande.urgence}"
|
||||
severity="#{demande.urgenceSeverity}" />
|
||||
</p:column>
|
||||
|
||||
<p:column headerText="Statut" sortBy="#{demande.statut}" width="100">
|
||||
<p:tag value="#{demande.statutLibelle}"
|
||||
severity="#{demande.statutSeverity}"
|
||||
icon="pi #{demande.statutIcon}" />
|
||||
</p:column>
|
||||
|
||||
<p:column headerText="Actions" width="150">
|
||||
<h:form id="formActions#{demande.id}">
|
||||
<div class="flex gap-1">
|
||||
<p:commandButton icon="pi pi-eye"
|
||||
styleClass="ui-button-rounded ui-button-text ui-button-info"
|
||||
onclick="PF('dlgDetailsDemande').show();"
|
||||
title="Voir détails">
|
||||
<f:setPropertyActionListener target="#{demandesAideBean.demandeSelectionnee}" value="#{demande}" />
|
||||
</p:commandButton>
|
||||
<p:commandButton icon="pi pi-check"
|
||||
styleClass="ui-button-rounded ui-button-text ui-button-success"
|
||||
title="Approuver"
|
||||
action="#{demandesAideBean.approuverDemande}"
|
||||
rendered="#{demande.statut == 'EN_ATTENTE' or demande.statut == 'EN_EVALUATION'}">
|
||||
<f:setPropertyActionListener target="#{demandesAideBean.demandeSelectionnee}" value="#{demande}" />
|
||||
</p:commandButton>
|
||||
<p:commandButton icon="pi pi-times"
|
||||
styleClass="ui-button-rounded ui-button-text ui-button-danger"
|
||||
title="Rejeter"
|
||||
onclick="return confirm('Êtes-vous sûr de vouloir rejeter cette demande ?');"
|
||||
action="#{demandesAideBean.rejeterDemande}"
|
||||
rendered="#{demande.statut == 'EN_ATTENTE' or demande.statut == 'EN_EVALUATION'}">
|
||||
<f:setPropertyActionListener target="#{demandesAideBean.demandeSelectionnee}" value="#{demande}" />
|
||||
</p:commandButton>
|
||||
<p:commandButton icon="pi pi-cog"
|
||||
styleClass="ui-button-rounded ui-button-text ui-button-secondary"
|
||||
onclick="PF('dlgActionsDemande').show();"
|
||||
title="Actions">
|
||||
<f:setPropertyActionListener target="#{demandesAideBean.demandeSelectionnee}" value="#{demande}" />
|
||||
</p:commandButton>
|
||||
</div>
|
||||
</h:form>
|
||||
</p:column>
|
||||
</p:dataTable>
|
||||
</div>
|
||||
|
||||
<!-- Dialog Nouvelle Demande -->
|
||||
<p:dialog header="Créer une Nouvelle Demande" widgetVar="dlgNouvelleDemande" modal="true" width="900">
|
||||
<h:form id="formNouvelleDemande">
|
||||
<div class="ui-fluid">
|
||||
<div class="grid">
|
||||
<div class="col-12 md:col-6">
|
||||
<div class="field">
|
||||
<p:outputLabel for="newDemandeur" value="Nom du demandeur" />
|
||||
<p:inputText id="newDemandeur" value="#{demandesAideBean.nouvelleDemande.demandeur}" required="true" />
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<p:outputLabel for="newTelephone" value="Téléphone" />
|
||||
<p:inputText id="newTelephone" value="#{demandesAideBean.nouvelleDemande.telephone}" required="true" />
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<p:outputLabel for="newEmail" value="Email" />
|
||||
<p:inputText id="newEmail" value="#{demandesAideBean.nouvelleDemande.email}" />
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<p:outputLabel for="newType" value="Type d'aide" />
|
||||
<p:selectOneMenu id="newType" value="#{demandesAideBean.nouvelleDemande.type}" required="true">
|
||||
<f:selectItem itemLabel="Sélectionner 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="newLocalisation" value="Localisation" />
|
||||
<p:inputText id="newLocalisation" value="#{demandesAideBean.nouvelleDemande.localisation}" required="true" />
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<p:outputLabel for="newMontant" value="Montant demandé" />
|
||||
<p:inputNumber id="newMontant" value="#{demandesAideBean.nouvelleDemande.montantDemande}"
|
||||
mode="currency" currency="XOF" locale="fr-CI" required="true" />
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<p:outputLabel for="newUrgence" value="Niveau d'urgence" />
|
||||
<p:selectOneMenu id="newUrgence" value="#{demandesAideBean.nouvelleDemande.urgence}">
|
||||
<f:selectItem itemLabel="Normale" itemValue="NORMALE" />
|
||||
<f:selectItem itemLabel="Faible" itemValue="FAIBLE" />
|
||||
<f:selectItem itemLabel="Élevée" itemValue="ELEVEE" />
|
||||
<f:selectItem itemLabel="Critique" itemValue="CRITIQUE" />
|
||||
</p:selectOneMenu>
|
||||
</div>
|
||||
|
||||
<div class="field">
|
||||
<p:outputLabel for="newDateLimite" value="Date limite souhaitée" />
|
||||
<p:datePicker id="newDateLimite" value="#{demandesAideBean.nouvelleDemande.dateLimite}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<div class="field">
|
||||
<p:outputLabel for="newMotif" value="Motif de la demande" />
|
||||
<p:inputText id="newMotif" value="#{demandesAideBean.nouvelleDemande.motif}" required="true" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-12">
|
||||
<div class="field">
|
||||
<p:outputLabel for="newDescription" value="Description détaillée" />
|
||||
<p:inputTextarea id="newDescription" value="#{demandesAideBean.nouvelleDemande.description}" rows="4" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex gap-2 mt-3">
|
||||
<p:commandButton value="Créer" icon="pi pi-check"
|
||||
styleClass="ui-button-success"
|
||||
action="#{demandesAideBean.creerDemande}"
|
||||
update="@form dtDemandes @(.stats-summary)"
|
||||
oncomplete="if(!args.validationFailed) PF('dlgNouvelleDemande').hide();" />
|
||||
<p:commandButton value="Annuler" icon="pi pi-times"
|
||||
styleClass="ui-button-secondary"
|
||||
onclick="PF('dlgNouvelleDemande').hide();" type="button" />
|
||||
</div>
|
||||
</h:form>
|
||||
</p:dialog>
|
||||
|
||||
<!-- Dialog Actions Demande -->
|
||||
<p:dialog header="Actions sur la Demande" widgetVar="dlgActionsDemande" modal="true" width="400">
|
||||
<h:form id="formActionsDemande">
|
||||
<div class="grid">
|
||||
<div class="col-12">
|
||||
<p:commandButton value="Assigner à un responsable"
|
||||
icon="pi pi-user-plus"
|
||||
styleClass="ui-button-outlined ui-button-info w-full mb-2"
|
||||
onclick="PF('dlgAssignerResponsable').show();" />
|
||||
|
||||
<p:commandButton value="Programmer une visite"
|
||||
icon="pi pi-calendar-plus"
|
||||
styleClass="ui-button-outlined ui-button-success w-full mb-2"
|
||||
onclick="PF('dlgProgrammerVisite').show();" />
|
||||
|
||||
<p:commandButton value="Ajouter des documents"
|
||||
icon="pi pi-file-plus"
|
||||
styleClass="ui-button-outlined ui-button-warning w-full mb-2"
|
||||
onclick="PF('dlgAjouterDocuments').show();" />
|
||||
|
||||
<p:commandButton value="Historique du traitement"
|
||||
icon="pi pi-history"
|
||||
styleClass="ui-button-outlined ui-button-secondary w-full mb-2"
|
||||
action="#{demandesAideBean.voirHistorique}" />
|
||||
|
||||
<p:commandButton value="Envoyer notification"
|
||||
icon="pi pi-send"
|
||||
styleClass="ui-button-outlined ui-button-primary w-full mb-2"
|
||||
action="#{demandesAideBean.envoyerNotification}" />
|
||||
|
||||
<p:commandButton value="Dupliquer la demande"
|
||||
icon="pi pi-copy"
|
||||
styleClass="ui-button-outlined ui-button-help w-full"
|
||||
action="#{demandesAideBean.dupliquerDemande}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex justify-content-end mt-3">
|
||||
<p:commandButton value="Fermer" icon="pi pi-times"
|
||||
styleClass="ui-button-secondary"
|
||||
onclick="PF('dlgActionsDemande').hide();" type="button" />
|
||||
</div>
|
||||
</h:form>
|
||||
</p:dialog>
|
||||
</ui:define>
|
||||
|
||||
</ui:composition>
|
||||
Reference in New Issue
Block a user