Bug #53993
brouillon orphelin quand préremplissage sur première page et utilisateur connecté
0%
Description
Dans cette situation un premier brouillon est enregistré mais son numéro est perdu et ça amène qu'ensuite un nouveau brouillon est créé et une fois la démarche terminée, ce deuxième brouillon disparait bien mais le premier est toujours là.
Fichiers
Révisions associées
Historique
Mis à jour par Frédéric Péters il y a presque 3 ans
- Fichier 0001-forms-keep-track-of-draft-id-earlier-on-53993.patch 0001-forms-keep-track-of-draft-id-earlier-on-53993.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
La situation est dans la description, le patch ajoute des tests sur quelques variations (utilisateur connecté ou pas, champ texte et champ liste) mais le bug est vraiment juste sur la situation où il y a un utilisateur connecté. (et du préremplissage sur la première page et pas de code de suivi activé).
Pour corriger, au moment où dans cette situation le brouillon est enregistré, on assure que l'id du formdata "brouillon" se trouve bien associé à la saisie en cours (magictoken),
if self.has_draft_support() and not (req.is_from_application() or req.is_from_bot()): # save to get prefilling data in database self.save_draft(form_data) + # and make sure draft formdata id is tracked in session + session.add_magictoken(magictoken, form_data)
(ce code est toujours aussi compliqué à suivre et en attente d'une refonte, je sais :/ ).
Mis à jour par Paul Marillonnet il y a presque 3 ans
- Statut changé de Solution proposée à Solution validée
Ah oui code pas évident, ça m’a quand même l’air ok.
Mis à jour par Paul Marillonnet il y a presque 3 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit dc98be21066a3c1ba2e7a66e1dfb196cbb6d6520 Author: Frédéric Péters <fpeters@entrouvert.com> Date: Sat May 15 10:10:09 2021 +0200 forms: keep track of draft id earlier on (#53993)
Mis à jour par Frédéric Péters il y a presque 3 ans
- Statut changé de Résolu (à déployer) à Solution déployée
forms: keep track of draft id earlier on (#53993)