Projet

Général

Profil

Development #56556

Accès à plusieurs objets derrière form_links_whatever (plusieurs fiches liées à une seule demande à partir d'une action création de fiche)

Ajouté par Victor Claudet il y a plus de 2 ans. Mis à jour il y a plus de 2 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
01 septembre 2021
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Exemple, une demande génère la création de plusieurs fiches à partir d'une boucle et donc utilise la même action pour créer toutes les fiches.

Actuellement w.c.s. n'enregistre les coordonnées que de la première fiche dans form_links_mon_action...

Il faudrait dans ce cas w.c.s. puisse concerver la référence de chaques fiches créées.


Fichiers

Révisions associées

Révision 03a2df68 (diff)
Ajouté par Lauréline Guérin il y a plus de 2 ans

wf: form_links_whatever can contain many items (#56556)

Historique

#1

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

Tout est déjà enregistré, c'est juste pas mis à disposition via form_links_XXX enverra vers la première occurence.

#2

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

  • Sujet changé de Pouvoir créer/lier plusieurs fiches à une seule demande à partir d'une action création de fiche à Accès à plusieurs objets derrière form_links_whatever (plusieurs fiches liées à une seule demande à partir d'une action création de fiche)

Aujourd'hui on a

class LazyFormDataLinks:
    […]
    def __getattr__(self, varname):
        for part in self._formdata.iter_evolution_parts():
            if not isinstance(part, LinkedFormdataEvolutionPart):
                continue
            if part.varname == varname and part.formdata:
                return part.formdata.get_substitution_variables()   # <-----

On devrait avoir (un peu comme LazyFieldVarBlock) la possibilité de faire form_links_whatever_0_form_..., form_links_whatever_1_form_..., etc. On devrait du coup aussi avoir un __iter__ présent, pou permettre de faire {% for whatever in form_links_whatever %}XXX{% endfor %}.

#4

Mis à jour par Lauréline Guérin il y a plus de 2 ans

basé sur #56611

#5

Mis à jour par Lauréline Guérin il y a plus de 2 ans

  • Assigné à mis à Lauréline Guérin
#6

Mis à jour par Lauréline Guérin il y a plus de 2 ans

  • Statut changé de Solution proposée à En cours
#9

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

  • Statut changé de Solution proposée à Solution validée
     def inspect_keys(self):
-        return ['form']
+        return [str(x) for x in range(len(self._linked_formdatas))] + ['form']

J'ai hésité à suggérer de ne pas mettre form s'il y avait plusieurs éléments mais ça ferait bizarre de voir cette variable disparaitre, c'est bien ainsi.

#10

Mis à jour par Lauréline Guérin il y a plus de 2 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 03a2df6834c5404f38b3e1db0d677413f84e0115
Author: Lauréline Guérin <zebuline@entrouvert.com>
Date:   Thu Sep 9 14:59:32 2021 +0200

    wf: form_links_whatever can contain many items (#56556)
#11

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

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

Formats disponibles : Atom PDF