Anomalie #6059
ferméProblème génération layout HTML
100%
Ne pas utiliser de variables statiques dans Doc::getHtmlValue mais des attributs privés
Description
J'ai un cas ou l'appel répété à sendCard() avec un document sur lequel on change les valeurs fait que le résultat envoyé par mail semble toujours se faire sur un objet du document qui ne change pas.
- je récupère le document en base
- je positionne un attribut avec une valeur X
- je store le document
- j'appelle sendCard() pour envoyer la vue par défaut de ce document
- je recommande l'opération en récupérant le document, en positionnant une nouvelle valeur Y et je store le document
- je ré-appelle sendCard(), le mail reçu contient encore X et pas Y
Après analyse, le problème semble provenir de `Doc::getHtmlValue` qui conserverait en cache (variable statique de méthode) un `DocHtmlFormat` avec une référence au premier document traité.
Si je supprime l'aspect statique des variables de méthode $level et $otherFormatter pour en faire des propriétés de classe, alors le problème disparaît, et chaque itération travaille sur les données à jour du document.
Le problème a été identifié et analysé sur une plateforme cliente, mais je ne semble pas arriver à reproduire ça avec un test-case minimal (me demander pour plus de détails).
Mis à jour par Marc Claverie il y a plus de 10 ans
- Statut changé de Nouveau à À analyser
- Assigné à mis à Éric Brison
- Version cible mis à 3.2.21
Mis à jour par Éric Brison il y a environ 10 ans
- Statut changé de À analyser à Intégré
- % réalisé changé de 0 à 100
Appliqué par commit commit:dynacase-core|8eeadcea68b2d851187d65a4468cf1ad3e3ec5ca.