Projet

Général

Profil

Bug #24048

conditions d'affichage des pages appliquées à l'affichage dans le résumé de la demande

Ajouté par Serghei Mihai il y a presque 6 ans. Mis à jour il y a plus de 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
24 mai 2018
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:

Description

Si un formulaire contient deux pages conditionnelles:

  • une qui s'affiche uniquement en backoffice, condition is_in_backoffice
  • une qui s'affiche uniquement en frontoffice, condition not is_in_backoffice

Si le formulaire est rempli en frontoffice, le résumé de la demande ne contient pas les champs remplis dans la page affichée uniquement en front.
En révanche si le formulaire est saisi en backoffice les champs de la page sont bien affichés dans le résumé.


Fichiers

Révisions associées

Révision eed3861a (diff)
Ajouté par Frédéric Péters il y a presque 6 ans

forms: only include pages with actual data in summary (#24048)

Historique

#2

Mis à jour par Serghei Mihai il y a presque 6 ans

Si je retire la condition sur la page à afficher dans le frontoffice, ses données apparaissent dans le résume de la demande.

#3

Mis à jour par Thomas Noël il y a presque 6 ans

C'est ainsi :

            if f.type == 'page':
                on_disabled_page = False
                if not f.is_visible(self.filled.data, self.formdef):
                    on_disabled_page = True

Et donc, je ne vois pas de solution pour le cas d'une page avec condition « not is_in_backoffice » : elle ne s'affichera jamais en backoffice.

#4

Mis à jour par Thomas Noël il y a presque 6 ans

En contournement :

not is_in_backoffice or vars().get('form_var_truc')

form_var_truc est une donnée obligatoire de la page. Ainsi la page s'affichera toujours une fois reçue (frontoffice comme backoffice).

#5

Mis à jour par Stéphane Laget il y a presque 6 ans

le contournement fonctionne

#6

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

Peut-être ce qu'il faudrait (pas réfléchi des masses) conserver les pages visitées lors du remplissage du formulaire et exploiter ça. (ça servirait aussi à "vider" les champs de pages par lesquelles l'usager est juste passé avant de faire précédent, etc.)

#7

Mis à jour par Thomas Noël il y a presque 6 ans

Frédéric Péters a écrit :

Peut-être ce qu'il faudrait (pas réfléchi des masses) conserver les pages visitées lors du remplissage du formulaire et exploiter ça. (ça servirait aussi à "vider" les champs de pages par lesquelles l'usager est juste passé avant de faire précédent, etc.)

Oui, ça éviterait d'appeler "is_visible" sur les pages (qui lance des calculs qui peuvent ne pas avoir de sens sur l'affichage du résumé, comme ici.. mais j'imagine aussi d'autres endroits où on appelle des webservices... ça peut vite être la cata).

#8

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

Vu #19521, j'aurais une nouvelle position ici, pas besoin d'enregistrer quoique ce soit de neuf, simplement, à l'affichage d'une demande, reprendre uniquement les pages sur lesquelles il y a des données, sans prêter attention aux conditions.

#9

Mis à jour par Thomas Noël il y a presque 6 ans

Frédéric Péters a écrit :

Vu #19521, j'aurais une nouvelle position ici, pas besoin d'enregistrer quoique ce soit de neuf, simplement, à l'affichage d'une demande, reprendre uniquement les pages sur lesquelles il y a des données, sans prêter attention aux conditions.

Ok pour cette proposition. Pour l'anecdote, ça m'a évoqué que je l'avais déjà joué ainsi dans le connecteur Maarch http://git.entrouvert.org/passerelle.git/tree/passerelle/contrib/maarch/views.py#n97

#10

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

#12

Mis à jour par Thomas Noël il y a presque 6 ans

Ack

#13

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

  • Statut changé de En cours à Résolu (à déployer)
commit eed3861a3d947c77fd52dfc71813b3c5bd3f2ad3
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Thu Jun 7 15:19:43 2018 +0200

    forms: only include pages with actual data in summary (#24048)
#14

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

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

Formats disponibles : Atom PDF