Development #65163
dataviz, éviter les erreurs de validation de la cellule graphe en BO
Début:
12 mai 2022
Echéance:
% réalisé:
0%
Temps estimé:
Patch proposed:
Oui
Planning:
Non
Description
Elles sont sans conséqunce car quand elles apparaissent il suffit de cliquer à nouveau sur « Enregistrer », mais ça ne fait pas propre tout de même.
Exemples de cas :- Formulaire avec regroupement sur statut, changement de formulaire, le champ regroupement existe encore mais les valeurs ne sont plus les mêmes donc on se retrouve à afficher « /!\ Sélectionnez une valeur valide »
- Passer de « Tous les formulaires » à un formulaire en particulier affiche « /!\ Ce champ est obligatoire » pour le filtre sur le statut
Fichiers
Révisions associées
manager: avoid validation errors on dynamic fields in cell edit form (#65163)
Historique
Mis à jour par Valentin Deniaud il y a presque 2 ans
- Fichier 0002-manager-avoid-validation-errors-on-dynamic-fields-in.patch 0002-manager-avoid-validation-errors-on-dynamic-fields-in.patch ajouté
- Fichier 0001-manager-remove-dead-code-65163.patch 0001-manager-remove-dead-code-65163.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Au final c'est une régression introduite par les onglets #62965.
On a d'abord ce comportement filtres dynamiques qui arrive par #49175, notamment dans 0003
--- a/combo/manager/views.py +++ b/combo/manager/views.py @@ -548,2 +548,3 @@ class PageEditCellView(UpdateView): self.object = form.save() + form = self.get_form_class()(instance=self.object, prefix=self.get_prefix()) response = self.form_invalid(form) # avoid redirection
et le patch de #62965 qui remplace ça par
+ # if current form had no errors, create it anew + # so it can get new dynamic fields + form = tab_error_forms.get(tab['slug']) or tab['form'](**self.get_form_kwargs())
mais dans avec ce get_form_kwargs on repasse les vieilles données qui vont lever des erreurs sur le nouveau formulaire, il faut vraiment recréer le formulaire à partir de l'instance explicitement.
Mis à jour par Frédéric Péters il y a presque 2 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Valentin Deniaud il y a presque 2 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit ce0a65a35ece81c714c3259adfb8445945675504 Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Thu May 12 17:24:05 2022 +0200 manager: avoid validation errors on dynamic fields in cell edit form (#65163) commit b47c3e42191ed65f718148534217db219ef5aece Author: Valentin Deniaud <vdeniaud@entrouvert.com> Date: Thu May 12 16:51:30 2022 +0200 manager: remove dead code (#65163)
Mis à jour par Transition automatique il y a presque 2 ans
- Statut changé de Résolu (à déployer) à Solution déployée
manager: remove dead code (#65163)