Files
btpxpress-frontend/target/classes/META-INF/resources/clients/nouveau.xhtml
dahoud 0fad42ccaf refactor: Suppression de 13 écrans redondants
Nettoyage des doublons pour éviter la redondance :

Suppressions (liste.xhtml redondants avec écrans racine):
- devis/liste.xhtml
- employes/liste.xhtml
- equipes/liste.xhtml
- factures/liste.xhtml
- maintenance/liste.xhtml
- materiels/liste.xhtml
- messages/liste.xhtml
- notifications/liste.xhtml
- planning/liste.xhtml
- rapports/liste.xhtml
- stock/liste.xhtml

Suppressions (inconsistance nouveau/nouvelle):
- equipes/nouvelle.xhtml
- factures/nouvelle.xhtml

Stratégie:
- Un seul écran liste par module (racine)
- Standardisation sur nouveau.xhtml

Résultat: 163 écrans restants (vs 176 avant)
2025-11-07 22:36:04 +00:00

96 lines
5.3 KiB
HTML

<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
template="/WEB-INF/template.xhtml">
<ui:define name="title">Nouveau client - BTP Xpress</ui:define>
<ui:define name="content">
<div class="layout-dashboard">
<div class="grid">
<div class="col-12">
<div class="card">
<div class="flex align-items-center justify-content-between mb-3">
<h1>Créer un nouveau client</h1>
<p:commandButton value="Retour" icon="pi pi-arrow-left"
outcome="/clients"
styleClass="ui-button-secondary"/>
</div>
<h:form id="nouveauClientForm">
<div class="grid">
<div class="col-12 md:col-6">
<h:outputLabel for="raisonSociale" value="Raison sociale *"/>
<p:inputText id="raisonSociale" value="#{clientsView.selectedItem.raisonSociale}"
required="true" requiredMessage="La raison sociale est obligatoire"
style="width: 100%;"/>
</div>
<div class="col-12 md:col-6">
<h:outputLabel for="nomContact" value="Nom du contact *"/>
<p:inputText id="nomContact" value="#{clientsView.selectedItem.nomContact}"
required="true" requiredMessage="Le nom du contact est obligatoire"
style="width: 100%;"/>
</div>
<div class="col-12 md:col-6">
<h:outputLabel for="email" value="Email *"/>
<p:inputText id="email" value="#{clientsView.selectedItem.email}"
required="true" requiredMessage="L'email est obligatoire"
style="width: 100%;"/>
<p:message for="email"/>
</div>
<div class="col-12 md:col-6">
<h:outputLabel for="telephone" value="Téléphone"/>
<p:inputText id="telephone" value="#{clientsView.selectedItem.telephone}"
style="width: 100%;"/>
</div>
<div class="col-12">
<h:outputLabel for="adresse" value="Adresse"/>
<p:inputTextarea id="adresse" value="#{clientsView.selectedItem.adresse}"
rows="3" style="width: 100%;"/>
</div>
<div class="col-12 md:col-4">
<h:outputLabel for="ville" value="Ville"/>
<p:inputText id="ville" value="#{clientsView.selectedItem.ville}"
style="width: 100%;"/>
</div>
<div class="col-12 md:col-4">
<h:outputLabel for="codePostal" value="Code postal"/>
<p:inputText id="codePostal" value="#{clientsView.selectedItem.codePostal}"
style="width: 100%;"/>
</div>
<div class="col-12 md:col-4">
<h:outputLabel for="pays" value="Pays"/>
<p:inputText id="pays" value="#{clientsView.selectedItem.pays}"
style="width: 100%;"/>
</div>
<div class="col-12">
<div class="flex justify-content-end gap-2 mt-3">
<p:commandButton value="Annuler" icon="pi pi-times"
outcome="/clients"
styleClass="ui-button-secondary"/>
<p:commandButton value="Enregistrer" icon="pi pi-check"
action="#{clientsView.saveNew()}"
update="@form"
styleClass="ui-button-primary"/>
</div>
</div>
</div>
</h:form>
</div>
</div>
</div>
</div>
</ui:define>
</ui:composition>