Projet

Général

Profil

Development #65163

dataviz, éviter les erreurs de validation de la cellule graphe en BO

Ajouté par Valentin Deniaud il y a presque 2 ans. Mis à jour il y a presque 2 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
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

Révision b47c3e42 (diff)
Ajouté par Valentin Deniaud il y a presque 2 ans

manager: remove dead code (#65163)

Révision ce0a65a3 (diff)
Ajouté par Valentin Deniaud il y a presque 2 ans

manager: avoid validation errors on dynamic fields in cell edit form (#65163)

Historique

#1

Mis à jour par Valentin Deniaud il y a presque 2 ans

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.

#2

Mis à jour par Frédéric Péters il y a presque 2 ans

  • Statut changé de Solution proposée à Solution validée
#3

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)
#4

Mis à jour par Transition automatique il y a presque 2 ans

  • Statut changé de Résolu (à déployer) à Solution déployée
#5

Mis à jour par Transition automatique il y a presque 2 ans

Automatic expiration

Formats disponibles : Atom PDF