114 lines
6.4 KiB
HTML
114 lines
6.4 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:define name="title">Nouvelle Organisation</ui:define>
|
|
|
|
<ui:define name="content">
|
|
<f:event type="preRenderView" listener="#{organisationsBean.preparerNouvelleOrganisation}" />
|
|
|
|
<h:form id="formNouvelleOrganisation">
|
|
|
|
<!-- En-tête avec titre et actions (DRY/WOU: card-header) -->
|
|
<ui:decorate template="/templates/components/cards/card-header.xhtml">
|
|
<ui:param name="title" value="Nouvelle Organisation" />
|
|
<ui:param name="subtitle" value="Créez une nouvelle organisation en renseignant les informations essentielles." />
|
|
<ui:param name="icon" value="pi pi-building" />
|
|
<ui:param name="styleClass" value="mb-3" />
|
|
<ui:define name="actions">
|
|
<!-- Bouton Enregistrer (MethodExpression direct) -->
|
|
<p:commandButton value="Enregistrer"
|
|
icon="pi pi-save"
|
|
action="#{organisationsBean.creerOrganisation}"
|
|
update="formNouvelleOrganisation messages"
|
|
styleClass="p-button-success p-button-lg"
|
|
validateClient="true">
|
|
<p:confirm header="Confirmation"
|
|
message="Voulez-vous créer cette organisation ?"
|
|
icon="pi pi-question-circle"/>
|
|
</p:commandButton>
|
|
|
|
<!-- DRY/WOU: button-secondary pour Annuler -->
|
|
<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/organisation/liste"/>
|
|
</ui:include>
|
|
</ui:define>
|
|
<ui:define name="info">
|
|
<p class="text-500 text-sm m-0">
|
|
<i class="pi pi-asterisk text-red-500 mr-1" style="font-size: 0.5rem;"/>
|
|
Les champs marqués d'un astérisque sont obligatoires
|
|
</p>
|
|
</ui:define>
|
|
</ui:decorate>
|
|
|
|
<!-- Messages globaux -->
|
|
<p:messages id="messages" showDetail="true" closable="true" styleClass="mb-3"/>
|
|
|
|
<!-- Formulaire (DRY/WOU: card-simple) -->
|
|
<ui:decorate template="/templates/components/cards/card-simple.xhtml">
|
|
<ui:param name="styleClass" value="shadow-2" />
|
|
<ui:define name="content">
|
|
<!-- DRY/WOU: organisation-form.xhtml include réutilisable -->
|
|
<ui:include src="/ui/includes/organisation-form.xhtml">
|
|
<ui:param name="model" value="#{organisationsBean.nouvelleOrganisation}" />
|
|
<ui:param name="typesItems" value="#{organisationsBean.typesSelectItemsForForm}" />
|
|
<ui:param name="completionBean" value="#{organisationsBean}" />
|
|
</ui:include>
|
|
|
|
<!-- Actions du formulaire (bas de page) -->
|
|
<p:divider styleClass="mt-5"/>
|
|
|
|
<div class="flex justify-content-between align-items-center flex-column md:flex-row gap-3 mt-4">
|
|
<div class="text-600">
|
|
<i class="pi pi-shield mr-2"/>
|
|
Toutes les données sont sécurisées et conformes
|
|
</div>
|
|
<div class="flex gap-2">
|
|
<!-- Bouton Réinitialiser avec confirmation -->
|
|
<p:commandButton value="Réinitialiser"
|
|
icon="pi pi-refresh"
|
|
action="#{organisationsBean.preparerNouvelleOrganisation}"
|
|
update="formNouvelleOrganisation"
|
|
styleClass="p-button-outlined p-button-warning"
|
|
immediate="true">
|
|
<p:confirm header="Confirmation"
|
|
message="Réinitialiser le formulaire ? Toutes les données seront perdues."
|
|
icon="pi pi-exclamation-triangle"/>
|
|
</p:commandButton>
|
|
|
|
<!-- DRY/WOU: button-secondary pour Annuler -->
|
|
<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/organisation/liste"/>
|
|
</ui:include>
|
|
|
|
<!-- Bouton Créer l'organisation (MethodExpression direct) -->
|
|
<p:commandButton value="Créer l'organisation"
|
|
icon="pi pi-check"
|
|
action="#{organisationsBean.creerOrganisation}"
|
|
update="formNouvelleOrganisation messages"
|
|
styleClass="p-button-success p-button-lg"
|
|
validateClient="true">
|
|
<p:confirm header="Confirmation de création"
|
|
message="Créer cette organisation avec les informations saisies ?"
|
|
icon="pi pi-question-circle"/>
|
|
</p:commandButton>
|
|
</div>
|
|
</div>
|
|
</ui:define>
|
|
</ui:decorate>
|
|
|
|
<!-- Dialog de confirmation global (DRY/WOU: confirm-dialog) -->
|
|
<ui:include src="/templates/components/dialogs/confirm-dialog.xhtml" />
|
|
|
|
</h:form>
|
|
</ui:define>
|
|
</ui:composition>
|