Problème de persistence des pillbox

Request description

Bonjour,

J’ai un problème de pillbox qui semblent rester en mémoire après création.
Je suis sur des relations N,N avec les objets liés affichés en pillbox dans le formulaire.
A la création, je sélectionne une valeur

Puis je Save&Close.
Quand j’ouvre de nouveau le formulaire de création, toutes mes pillbox sont initialisées à la valeur précédemment saisie (même les jointures qui n’ont rien à voir).

Quand je clear le cache le problème disparaît.

Pouvez vous m’aider à debugger ?
Merci !
Emmanuelle

Technical information

Instance /health
[Platform]
Status=OK
Version=5.2.28
BuiltOn=2023-01-20 16:43

La rémanence de la valeur sélectionnée en pillbox en création sert si le formulaire ou la N,N n’a pas pu être créée en back. La UI repropose la même sélection. Sinon le valeur temporaire est détruite car désormais en base.

Par contre ce n’est pas normal de la retrouver sur chaque pillbox. Il y a un bug UI qui teste mal sur “quelle pillbox” remettre la sélection précédente. On va regarder ce point car on n’a jamais eu des cas avec autant de pillbox (attention si vous permettez l’edit list ça va être couteux en appels ajax).

Serait-ce le même objet cible accédé avec des N,N différentes ?

Par ailleurs, votre formulaire est toujours en création, mais n’indique aucune erreur, il faudrait regarder au debugger front (network/xhr et console) quel appel retourne une erreur (le create de l’objet principal ou une des N,N pillbox…). Si vous corrigez ce point en back, il n’y aura plus de rémanence à priori.

Problème reproduit et corrigé (il faudra attendre la 5.2.30).

En fait le test pour retirer de la mémoire UI un lien temporaire en cas de succès était inversé suite à une optimisation de code javascript récent.

En attendant si c’est pressé et qu’il vous faut un contournement, il faudra aider la UI à retirer cette rémanence, dans le hook front form.aftersave = retirer les liens temporaires de pillbox (tmppb) sur le formulaire en création row_id=0 :

delete obj.local.tmppb["0"]

si on est en édition de liste, il faudra le retirer sur chaque row_id temporaire inséré “00”, “01”, “02”…
ou sinon globalement delete obj.local.tmppb pour pas se poser de question.

Merci beaucoup pour ce retour rapide, ça attendra la 5.2.30 sans problème !

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.