Projet

Général

Profil

Development #9215

Les formulaires de cellule devraient pouvoir ne pas valider et être rafraichie même en cas de validation (renvoyé par get_default_form_class)

Ajouté par Benjamin Dauvergne il y a plus de 8 ans. Mis à jour il y a presque 8 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
05 décembre 2015
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Quand j'ai développé le formulaire d'édition des cellules cubes j'avais besoin que les choix de certains champs dépendent du champ de sélection du cube, j'ai d'abord tenté de passer par une erreur de validation mais ça plantait parce que la vue qui reçoit la soumission ajax n'est pas capable de ré-afficher le bon formulaire avec erreur mais ensuite l'aurait-elle fait que le code de soumission ajax n'aurait pas su ré-afficher le formulaire au bon emplacement (coté authentic je fais ça en en renvoyant le contenu de la page dans du JSON, pour pouvoir intercepter aussi les redirections et faire la différence entre une erreur et un succès, ce qui n'est pas possible en ajax si on renvoie directement la redirection).

J'ai finalement opter pour ne pas renvoyer d'erreur mais dans ce cas je ne vois pas les nouvelles valeurs et l'utilisateur est obligé de recharger la page pour les voir, car le formulaire n'est pas rafraîchie. Je pense qu'il faudrait adopter quelque chose de similaire à la gestion des boites de dialogues dans authentic avec en plus le rafraîchissement du formulaire même en cas de soumission réussie.


Fichiers

Révisions associées

Révision b06b2da7 (diff)
Ajouté par Frédéric Péters il y a plus de 8 ans

manager: always update cell form after a click on the save button (#9215)

Historique

#1

Mis à jour par Frédéric Péters il y a plus de 8 ans

Il y a maintenant un template bidon (qui fait juste {{form.as_p}} qui est utilisé pour le rendu du formulaire et en erreur ou pas le callback ajax remplace le formulaire par ces données. (si jamais on n'a pas affaire à un appel ajax, la redirection a lieu comme avant et il n'y aura pas d'affichage d'erreur).

#2

Mis à jour par Benjamin Dauvergne il y a plus de 8 ans

Ok c'est bon pour les erreurs de validation, mais il va falloir que je change mon formulaire pour produire une erreur quand on a pas choisi d’agrégat. Ack.

#3

Mis à jour par Frédéric Péters il y a plus de 8 ans

  • Statut changé de En cours à Résolu (à déployer)

A priori non, le form_valid retourne aussi l'html, donc même sans erreur le formulaire dans ton cas devrait s'actualiser. (ou j'ai mal compris un bout du soucis).

commit b06b2da7072967fc46cc173df142ed1348b2b709
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Sat Dec 5 21:53:57 2015 +0100

    manager: always update cell form after a click on the save button (#9215)
#4

Mis à jour par Benjamin Dauvergne il y a plus de 8 ans

Non c'est moi, effectivement le HTML du form_valid doit s'afficher mais comme je ne prends en compte que la valeur instance.cube et pas celle qui arrive dans le self.data ça ne marchait pas. C'est tout bon, je n'ai qu'à changer cela.

#5

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

  • Statut changé de Résolu (à déployer) à Fermé

Formats disponibles : Atom PDF