fix(org): protéger preparerNouvelleOrganisation contre les AJAX postbacks

Le preRenderView de nouvelle.xhtml appelait preparerNouvelleOrganisation() à
chaque render — y compris les polls PrimeFaces du template (~5s) et les
partial AJAX updates. Cela réinitialisait nouvelleOrganisation = new OrganisationResponse()
à chaque cycle, perdant les données saisies par l'utilisateur.

Symptôme : erreurs 499 en boucle dans la console browser + impossible de soumettre
le formulaire (données toujours vides au moment du POST).

Fix : if (fc.isPostback()) return; → la méthode ne s'exécute que sur le
chargement initial (GET), pas sur les AJAX postbacks.
This commit is contained in:
dahoud
2026-04-16 10:38:26 +00:00
parent d70c79f9e9
commit 4793f18711

View File

@@ -178,8 +178,16 @@ public class OrganisationsBean implements Serializable {
/** /**
* Prépare la création d'une nouvelle organisation. * Prépare la création d'une nouvelle organisation.
* Protégé contre les postbacks AJAX (polls PrimeFaces, partialSubmit, etc.)
* pour ne pas réinitialiser le formulaire en cours de saisie.
*/ */
public void preparerNouvelleOrganisation() { public void preparerNouvelleOrganisation() {
// Ne réinitialiser QUE sur le chargement initial (GET), pas sur les AJAX postbacks
jakarta.faces.context.FacesContext fc = jakarta.faces.context.FacesContext.getCurrentInstance();
if (fc != null && fc.isPostback()) {
return; // AJAX poll ou postback → on ne touche pas au formulaire en cours
}
LOG.info("Préparation de la création d'une nouvelle organisation"); LOG.info("Préparation de la création d'une nouvelle organisation");
nouvelleOrganisation = new OrganisationResponse(); nouvelleOrganisation = new OrganisationResponse();