Project

General

Profile

Développement #65163

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

Added by Valentin Deniaud over 2 years ago. Updated over 2 years ago.

Status:
Fermé
Priority:
Normal
Target version:
-
Start date:
12 May 2022
Due date:
% Done:

0%

Estimated time:
Patch proposed:
Yes
Planning:
No

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

Files

Associated revisions

Revision b47c3e42 (diff)
Added by Valentin Deniaud over 2 years ago

manager: remove dead code (#65163)

Revision ce0a65a3 (diff)
Added by Valentin Deniaud over 2 years ago

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

History

#1

Updated by Valentin Deniaud over 2 years ago

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

Updated by Frédéric Péters over 2 years ago

  • Status changed from Solution proposée to Solution validée
#3

Updated by Valentin Deniaud over 2 years ago

  • Status changed from Solution validée to 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

Updated by Transition automatique over 2 years ago

  • Status changed from Résolu (à déployer) to Solution déployée
#5

Updated by Transition automatique over 2 years ago

Automatic expiration

Also available in: Atom PDF