From 4793f1871122c6bb7a870667fa0cc72c663af3eb Mon Sep 17 00:00:00 2001 From: dahoud <41957584+DahoudG@users.noreply.github.com> Date: Thu, 16 Apr 2026 10:38:26 +0000 Subject: [PATCH] =?UTF-8?q?fix(org):=20prot=C3=A9ger=20preparerNouvelleOrg?= =?UTF-8?q?anisation=20contre=20les=20AJAX=20postbacks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- .../lions/unionflow/client/view/OrganisationsBean.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/dev/lions/unionflow/client/view/OrganisationsBean.java b/src/main/java/dev/lions/unionflow/client/view/OrganisationsBean.java index 7815c2c..3be2e3e 100644 --- a/src/main/java/dev/lions/unionflow/client/view/OrganisationsBean.java +++ b/src/main/java/dev/lions/unionflow/client/view/OrganisationsBean.java @@ -178,8 +178,16 @@ public class OrganisationsBean implements Serializable { /** * 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() { + // 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"); nouvelleOrganisation = new OrganisationResponse();