Développement #65163
dataviz, éviter les erreurs de validation de la cellule graphe en BO
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
manager: avoid validation errors on dynamic fields in cell edit form (#65163)
History
Updated by Valentin Deniaud over 2 years ago
- File 0002-manager-avoid-validation-errors-on-dynamic-fields-in.patch 0002-manager-avoid-validation-errors-on-dynamic-fields-in.patch added
- File 0001-manager-remove-dead-code-65163.patch 0001-manager-remove-dead-code-65163.patch added
- Status changed from Nouveau to Solution proposée
- Patch proposed changed from No to Yes
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.
Updated by Frédéric Péters over 2 years ago
- Status changed from Solution proposée to Solution validée
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)
Updated by Transition automatique over 2 years ago
- Status changed from Résolu (à déployer) to Solution déployée
manager: remove dead code (#65163)