Configure Maven repository for unionflow-server-api dependency
This commit is contained in:
@@ -0,0 +1,263 @@
|
||||
<!DOCTYPE html>
|
||||
<html 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:composition template="/templates/main-template.xhtml">
|
||||
<ui:param name="page" value="#{organisationDetailBean}"/>
|
||||
<ui:define name="title">Détail de l'Organisation</ui:define>
|
||||
|
||||
<ui:define name="content">
|
||||
<h:form id="formDetail">
|
||||
<p:messages id="messages" showDetail="true" closable="true"/>
|
||||
|
||||
<!-- En-tête résumé -->
|
||||
<div class="card mb-3">
|
||||
<div class="flex justify-content-between align-items-center flex-column md:flex-row">
|
||||
<div class="flex align-items-center gap-3 mb-2 md:mb-0">
|
||||
<ui:include src="/templates/components/layout/organisation-logo.xhtml">
|
||||
<ui:param name="logo" value="#{organisationDetailBean.organisation.logo}"/>
|
||||
<ui:param name="size" value="64"/>
|
||||
</ui:include>
|
||||
<div>
|
||||
<h3 class="m-0">
|
||||
<h:outputText value="#{empty organisationDetailBean.organisation ? 'Organisation introuvable' : organisationDetailBean.organisation.nom}" />
|
||||
</h3>
|
||||
<div class="mt-2 flex align-items-center gap-2">
|
||||
<p:tag value="#{organisationDetailBean.organisation.typeLibelle}" severity="info" />
|
||||
<p:tag value="#{organisationDetailBean.organisation.statutLibelle}"
|
||||
severity="#{organisationDetailBean.organisation.statutSeverity}" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex gap-2">
|
||||
<ui:include src="/templates/components/buttons/button-secondary.xhtml">
|
||||
<ui:param name="value" value="Retour à la liste"/>
|
||||
<ui:param name="icon" value="pi pi-arrow-left"/>
|
||||
<ui:param name="outcome" value="/pages/secure/organisation/liste"/>
|
||||
</ui:include>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h:panelGroup rendered="#{not empty organisationDetailBean.organisation}">
|
||||
<div class="grid">
|
||||
<!-- Bloc identité -->
|
||||
<div class="col-12 md:col-6">
|
||||
<div class="card">
|
||||
<h5 class="mb-3">Identité</h5>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Nom complet"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.nom}"/>
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Nom court / Sigle"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.nomCourt}"/>
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Type"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.typeLibelle}"/>
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Statut"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.statutLibelle}"/>
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Date de fondation"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.dateFondation}"/>
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Numéro d'enregistrement"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.numeroRegistre}"/>
|
||||
</ui:include>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Bloc contact -->
|
||||
<div class="col-12 md:col-6">
|
||||
<div class="card">
|
||||
<h5 class="mb-3">Contacts</h5>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Email"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.email}"/>
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Email secondaire"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.emailSecondaire}"/>
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Téléphone"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.telephone}"/>
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Téléphone secondaire"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.telephoneSecondaire}"/>
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Site web"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.siteWeb}"/>
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Responsable principal"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.responsablePrincipal}"/>
|
||||
</ui:include>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Bloc localisation -->
|
||||
<div class="col-12 md:col-6">
|
||||
<div class="card">
|
||||
<h5 class="mb-3">Localisation</h5>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Adresse complète"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.adresseComplete}"/>
|
||||
<ui:param name="multiline" value="true"/>
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Ville"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.ville}"/>
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Région"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.region}"/>
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Pays"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.pays}"/>
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Code postal"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.codePostal}"/>
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Latitude"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.latitude}"/>
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Longitude"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.longitude}"/>
|
||||
</ui:include>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Bloc description, objectifs et activités -->
|
||||
<div class="col-12 md:col-6">
|
||||
<div class="card">
|
||||
<h5 class="mb-3">Description, objectifs & activités</h5>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Description"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.description}"/>
|
||||
<ui:param name="multiline" value="true"/>
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Objectifs"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.objectifs}"/>
|
||||
<ui:param name="multiline" value="true"/>
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Activités principales"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.activitesPrincipales}"/>
|
||||
<ui:param name="multiline" value="true"/>
|
||||
</ui:include>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Bloc gouvernance & membres -->
|
||||
<div class="col-12 md:col-6">
|
||||
<div class="card">
|
||||
<h5 class="mb-3">Gouvernance & membres</h5>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Nombre de membres"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.nombreMembres}"/>
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Nombre d'administrateurs"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.nombreAdministrateurs}"/>
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Organisation publique"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.organisationPublique ? 'Oui' : 'Non'}"/>
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Accepte de nouveaux membres"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.accepteNouveauxMembres ? 'Oui' : 'Non'}"/>
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Cotisation obligatoire"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.cotisationObligatoire ? 'Oui' : 'Non'}"/>
|
||||
</ui:include>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Bloc budget & cotisations -->
|
||||
<div class="col-12 md:col-6">
|
||||
<div class="card">
|
||||
<h5 class="mb-3">Budget & cotisations</h5>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Budget annuel"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.budgetAnnuel}"/>
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Devise"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.devise}"/>
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Montant cotisation annuelle"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.montantCotisationAnnuelle}"/>
|
||||
</ui:include>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Bloc réseaux & partenariats -->
|
||||
<div class="col-12 md:col-6">
|
||||
<div class="card">
|
||||
<h5 class="mb-3">Réseaux & partenariats</h5>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Réseaux sociaux"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.reseauxSociaux}"/>
|
||||
<ui:param name="multiline" value="true"/>
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Certifications / labels"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.certifications}"/>
|
||||
<ui:param name="multiline" value="true"/>
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Partenaires principaux"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.partenaires}"/>
|
||||
<ui:param name="multiline" value="true"/>
|
||||
</ui:include>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Bloc notes & hiérarchie -->
|
||||
<div class="col-12 md:col-6">
|
||||
<div class="card">
|
||||
<h5 class="mb-3">Notes & hiérarchie</h5>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Organisation parente"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.nomOrganisationParente}"/>
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="ID organisation parente"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.organisationParenteId}"/>
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Niveau hiérarchique"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.niveauHierarchique}"/>
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/forms/detail-field.xhtml">
|
||||
<ui:param name="label" value="Notes administratives"/>
|
||||
<ui:param name="value" value="#{organisationDetailBean.organisation.notes}"/>
|
||||
<ui:param name="multiline" value="true"/>
|
||||
</ui:include>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</h:panelGroup>
|
||||
</h:form>
|
||||
</ui:define>
|
||||
</ui:composition>
|
||||
</html>
|
||||
@@ -0,0 +1,251 @@
|
||||
<!DOCTYPE html>
|
||||
<html 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"
|
||||
xmlns:uf="http://xmlns.jcp.org/jsf/composite/components">
|
||||
|
||||
<ui:composition template="/templates/main-template.xhtml">
|
||||
<ui:param name="page" value="#{organisationsBean}"/>
|
||||
<ui:define name="title">Gestion des Organisations</ui:define>
|
||||
|
||||
<ui:define name="content">
|
||||
<h:form id="formOrganisations">
|
||||
<p:messages id="messages" showDetail="true" closable="true"/>
|
||||
|
||||
<!-- En-tête avec titre et action principale (DRY/WOU: card-header) -->
|
||||
<ui:decorate template="/templates/components/cards/card-header.xhtml">
|
||||
<ui:param name="title" value="Gestion des Organisations" />
|
||||
<ui:param name="subtitle" value="Liste complète des organisations avec filtres et actions." />
|
||||
<ui:param name="styleClass" value="mb-3" />
|
||||
<ui:define name="actions">
|
||||
<p:button value="Nouvelle Organisation"
|
||||
icon="pi pi-plus"
|
||||
outcome="/pages/secure/organisation/nouvelle"
|
||||
styleClass="ui-button-success" />
|
||||
</ui:define>
|
||||
</ui:decorate>
|
||||
|
||||
<!-- Statistiques (DRY/WOU: stat-card) -->
|
||||
<div class="grid mb-3">
|
||||
<ui:include src="/templates/components/cards/stat-card.xhtml">
|
||||
<ui:param name="value" value="#{organisationsBean.totalOrganisations}" />
|
||||
<ui:param name="label" value="Total" />
|
||||
<ui:param name="icon" value="pi pi-building" />
|
||||
<ui:param name="bgColor" value="blue" />
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/cards/stat-card.xhtml">
|
||||
<ui:param name="value" value="#{organisationsBean.organisationsActives}" />
|
||||
<ui:param name="label" value="Actives" />
|
||||
<ui:param name="icon" value="pi pi-check-circle" />
|
||||
<ui:param name="bgColor" value="green" />
|
||||
</ui:include>
|
||||
<ui:include src="/templates/components/cards/stat-card.xhtml">
|
||||
<ui:param name="value" value="#{organisationsBean.organisationsInactives}" />
|
||||
<ui:param name="label" value="Inactives" />
|
||||
<ui:param name="icon" value="pi pi-times-circle" />
|
||||
<ui:param name="bgColor" value="orange" />
|
||||
</ui:include>
|
||||
</div>
|
||||
|
||||
<!-- Filtres et recherche (DRY/WOU: filter-bar) -->
|
||||
<ui:decorate template="/templates/components/cards/filter-bar.xhtml">
|
||||
<ui:param name="title" value="Filtres" />
|
||||
<ui:param name="styleClass" value="mb-3" />
|
||||
<ui:define name="filters">
|
||||
<div class="col-12 md:col-4">
|
||||
<div class="field">
|
||||
<p:outputLabel for="rechercheGlobale" value="Rechercher" />
|
||||
<p:inputText id="rechercheGlobale"
|
||||
value="#{organisationsBean.rechercheGlobale}"
|
||||
placeholder="Nom, ville, description..."
|
||||
styleClass="w-full">
|
||||
<p:ajax event="keyup" update="dtOrganisations" listener="#{organisationsBean.appliquerFiltres}" delay="500"/>
|
||||
</p:inputText>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 md:col-2">
|
||||
<div class="field">
|
||||
<p:outputLabel for="filtreStatut" value="Statut" />
|
||||
<p:selectOneMenu id="filtreStatut"
|
||||
value="#{organisationsBean.filtreStatut}"
|
||||
styleClass="w-full">
|
||||
<f:selectItems value="#{organisationsBean.statutsSelectItems}" />
|
||||
<p:ajax event="change" update="dtOrganisations" listener="#{organisationsBean.appliquerFiltres}"/>
|
||||
</p:selectOneMenu>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 md:col-2">
|
||||
<div class="field">
|
||||
<p:outputLabel for="filtreType" value="Type" />
|
||||
<p:selectOneMenu id="filtreType"
|
||||
value="#{organisationsBean.filtreType}"
|
||||
styleClass="w-full">
|
||||
<f:selectItems value="#{organisationsBean.typesSelectItems}" />
|
||||
<p:ajax event="change" update="dtOrganisations" listener="#{organisationsBean.appliquerFiltres}"/>
|
||||
</p:selectOneMenu>
|
||||
</div>
|
||||
</div>
|
||||
</ui:define>
|
||||
<ui:define name="actions">
|
||||
<div class="col-12 md:col-2">
|
||||
<div class="field">
|
||||
<label class="invisible">Actions</label>
|
||||
<p:commandButton value="Réinitialiser"
|
||||
icon="pi pi-filter-slash"
|
||||
action="#{organisationsBean.reinitialiserFiltres}"
|
||||
update="dtOrganisations rechercheGlobale filtreStatut filtreType"
|
||||
styleClass="ui-button-secondary w-full" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 md:col-2">
|
||||
<div class="field">
|
||||
<label class="invisible">Actions</label>
|
||||
<p:commandButton value="Rafraîchir"
|
||||
icon="pi pi-refresh"
|
||||
action="#{organisationsBean.recharger}"
|
||||
update="@form"
|
||||
styleClass="ui-button-secondary w-full" />
|
||||
</div>
|
||||
</div>
|
||||
</ui:define>
|
||||
</ui:decorate>
|
||||
|
||||
<!-- Table des organisations (DRY/WOU: card-simple) -->
|
||||
<ui:decorate template="/templates/components/cards/card-simple.xhtml">
|
||||
<ui:param name="title" value="Liste des Organisations" />
|
||||
<ui:define name="content">
|
||||
<!-- Note: p:dataTable avec var, sortBy, filterBy doit être directement dans la page -->
|
||||
<p:dataTable id="dtOrganisations"
|
||||
value="#{organisationsBean.organisationsFiltrees}"
|
||||
var="org"
|
||||
paginator="true"
|
||||
rows="20"
|
||||
rowsPerPageTemplate="10,20,50,100"
|
||||
paginatorPosition="bottom"
|
||||
emptyMessage="Aucune organisation trouvée"
|
||||
styleClass="table-responsive"
|
||||
size="small">
|
||||
|
||||
<!-- Logo (DRY/WOU: organisation-logo) -->
|
||||
<p:column headerText="" style="width: 80px;">
|
||||
<ui:include src="/templates/components/layout/organisation-logo.xhtml">
|
||||
<ui:param name="logo" value="#{org.logo}"/>
|
||||
<ui:param name="size" value="40"/>
|
||||
</ui:include>
|
||||
</p:column>
|
||||
|
||||
<!-- Nom avec sous-titre -->
|
||||
<p:column headerText="Nom" sortBy="#{org.nom}" filterBy="#{org.nom}">
|
||||
<h:outputText value="#{org.nom}" styleClass="font-bold"/>
|
||||
<br/>
|
||||
<h:outputText value="#{org.typeLibelle}" styleClass="text-sm text-500"/>
|
||||
</p:column>
|
||||
|
||||
<!-- Type -->
|
||||
<p:column headerText="Type" sortBy="#{org.typeAssociation}" style="width: 150px;">
|
||||
<p:tag value="#{org.typeLibelle}"
|
||||
severity="#{org.typeAssociation == 'LIONS_CLUB' ? 'info' : 'primary'}"/>
|
||||
</p:column>
|
||||
|
||||
<!-- Localisation -->
|
||||
<p:column headerText="Localisation" style="width: 200px;">
|
||||
<i class="pi pi-map-marker mr-2 text-500"/>
|
||||
<h:outputText value="#{org.ville}, #{org.region}"/>
|
||||
</p:column>
|
||||
|
||||
<!-- Membres -->
|
||||
<p:column headerText="Membres" styleClass="text-center" style="width: 100px;">
|
||||
<p:tag value="#{org.nombreMembres}" severity="info" icon="pi pi-users"/>
|
||||
</p:column>
|
||||
|
||||
<!-- Statut -->
|
||||
<p:column headerText="Statut" sortBy="#{org.statut}" styleClass="text-center" style="width: 100px;">
|
||||
<p:tag value="#{org.statut}"
|
||||
severity="#{org.statut == organisationsBean.statutActive ? 'success' : 'warning'}"
|
||||
icon="#{org.statut == organisationsBean.statutActive ? 'pi pi-check' : 'pi pi-times'}"/>
|
||||
</p:column>
|
||||
|
||||
<!-- Actions (DRY/WOU: Composite Components) -->
|
||||
<p:column headerText="Actions" style="width:200px">
|
||||
<div class="flex gap-1">
|
||||
<!-- DRY/WOU: Composite Component action-button-view -->
|
||||
<uf:action-button-view itemId="#{org.id.toString()}"
|
||||
detailPage="/pages/secure/organisation/detail.xhtml"
|
||||
iconOnly="true"/>
|
||||
<!-- DRY/WOU: button-icon pour Modifier -->
|
||||
<p:commandButton icon="pi pi-pencil"
|
||||
actionListener="#{organisationsBean.setOrganisationSelectionnee(org)}"
|
||||
oncomplete="PF('dlgModifier').show();"
|
||||
update=":formModifier"
|
||||
styleClass="ui-button-rounded ui-button-warning"
|
||||
title="Modifier"/>
|
||||
<!-- DRY/WOU: button-icon pour Activer/Désactiver -->
|
||||
<p:commandButton icon="#{org.statut == organisationsBean.statutActive ? 'pi pi-ban' : 'pi pi-check'}"
|
||||
actionListener="#{organisationsBean.basculerStatutOrganisation(org)}"
|
||||
update=":formOrganisations:dtOrganisations :formOrganisations:messages"
|
||||
styleClass="ui-button-rounded #{org.statut == organisationsBean.statutActive ? 'ui-button-secondary' : 'ui-button-success'}"
|
||||
title="#{org.statut == organisationsBean.statutActive ? 'Désactiver' : 'Activer'}">
|
||||
<p:confirm header="Confirmation"
|
||||
message="Êtes-vous sûr de vouloir changer le statut de cette organisation ?"
|
||||
icon="pi pi-exclamation-triangle"/>
|
||||
</p:commandButton>
|
||||
<!-- DRY/WOU: button-icon pour Supprimer -->
|
||||
<p:commandButton icon="pi pi-trash"
|
||||
actionListener="#{organisationsBean.supprimerOrganisation(org)}"
|
||||
update=":formOrganisations:dtOrganisations :formOrganisations:messages"
|
||||
styleClass="ui-button-rounded ui-button-danger"
|
||||
title="Supprimer">
|
||||
<p:confirm header="Confirmation"
|
||||
message="Êtes-vous sûr de vouloir supprimer cette organisation ? Cette action est irréversible."
|
||||
icon="pi pi-exclamation-triangle"/>
|
||||
</p:commandButton>
|
||||
</div>
|
||||
</p:column>
|
||||
</p:dataTable>
|
||||
</ui:define>
|
||||
</ui:decorate>
|
||||
|
||||
<!-- Dialogue de confirmation global (DRY/WOU: confirm-dialog) -->
|
||||
<ui:include src="/templates/components/dialogs/confirm-dialog.xhtml" />
|
||||
</h:form>
|
||||
|
||||
<!-- Dialogue Modifier Organisation (DRY/WOU: form-dialog) -->
|
||||
<ui:decorate template="/templates/components/dialogs/form-dialog.xhtml">
|
||||
<ui:param name="dialogId" value="dlgModifier" />
|
||||
<ui:param name="header" value="Modifier Organisation" />
|
||||
<ui:param name="widgetVar" value="dlgModifier" />
|
||||
<ui:param name="formId" value="formModifier" />
|
||||
<ui:param name="width" value="900" />
|
||||
<ui:param name="maximizable" value="true" />
|
||||
<ui:param name="fitViewport" value="true" />
|
||||
<ui:define name="content">
|
||||
<ui:fragment rendered="#{organisationsBean.organisationSelectionnee != null}">
|
||||
<ui:include src="/ui/includes/organisation-form.xhtml">
|
||||
<ui:param name="model" value="#{organisationsBean.organisationSelectionnee}" />
|
||||
<ui:param name="typesItems" value="#{organisationsBean.typesSelectItemsForForm}" />
|
||||
</ui:include>
|
||||
</ui:fragment>
|
||||
</ui:define>
|
||||
<ui:define name="footer">
|
||||
<!-- Bouton Annuler : type="button" pour éviter la soumission -->
|
||||
<p:commandButton value="Annuler"
|
||||
icon="pi pi-times"
|
||||
type="button"
|
||||
onclick="PF('dlgModifier').hide();"
|
||||
styleClass="ui-button-secondary" />
|
||||
<!-- DRY/WOU: button-form-submit pour action backend -->
|
||||
<ui:decorate template="/templates/components/buttons/button-form-submit.xhtml">
|
||||
<ui:param name="value" value="Enregistrer" />
|
||||
<ui:param name="icon" value="pi pi-check" />
|
||||
<ui:param name="action" value="#{organisationsBean.modifierOrganisation}" />
|
||||
<ui:param name="update" value=":formOrganisations:dtOrganisations :formOrganisations:messages" />
|
||||
<ui:param name="oncomplete" value="if(!args.validationFailed) PF('dlgModifier').hide();" />
|
||||
<ui:param name="severity" value="success" />
|
||||
</ui:decorate>
|
||||
</ui:define>
|
||||
</ui:decorate>
|
||||
</ui:define>
|
||||
</ui:composition>
|
||||
</html>
|
||||
@@ -0,0 +1,64 @@
|
||||
<!DOCTYPE html>
|
||||
<html 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:composition template="/templates/main-template.xhtml">
|
||||
<ui:param name="page" value="#{organisationsBean}"/>
|
||||
<ui:define name="title">Nouvelle Organisation</ui:define>
|
||||
|
||||
<ui:define name="content">
|
||||
<!-- Initialiser le modèle et le catalogue des types à chaque affichage de la vue -->
|
||||
<f:event type="preRenderView" listener="#{organisationsBean.preparerNouvelleOrganisation}" />
|
||||
|
||||
<h:form id="formNouvelleOrganisation">
|
||||
<p:messages id="messages" showDetail="true" closable="true"/>
|
||||
|
||||
<div class="card mb-3">
|
||||
<div class="flex justify-content-between align-items-center flex-column md:flex-row">
|
||||
<div class="mb-2 md:mb-0">
|
||||
<h3 class="m-0">Nouvelle Organisation</h3>
|
||||
<span class="text-600">
|
||||
Renseignez l'ensemble des informations de l'organisation.
|
||||
</span>
|
||||
</div>
|
||||
<div class="flex gap-2">
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card">
|
||||
<h5 class="mb-3">Informations de l'Organisation</h5>
|
||||
<ui:include src="/ui/includes/organisation-form.xhtml">
|
||||
<ui:param name="model" value="#{organisationsBean.nouvelleOrganisation}" />
|
||||
<ui:param name="typesItems" value="#{organisationsBean.typesSelectItemsForForm}" />
|
||||
</ui:include>
|
||||
</div>
|
||||
|
||||
<div class="mt-3 flex justify-content-end gap-2">
|
||||
<!-- DRY/WOU: button-secondary pour navigation -->
|
||||
<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 : p:commandButton direct car action avec méthode backend -->
|
||||
<p:commandButton value="Créer"
|
||||
icon="pi pi-check"
|
||||
action="#{organisationsBean.creerOrganisation}"
|
||||
update=":formNouvelleOrganisation:messages"
|
||||
styleClass="ui-button-success" />
|
||||
</div>
|
||||
</h:form>
|
||||
</ui:define>
|
||||
</ui:composition>
|
||||
</html>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user