Projet

Général

Profil

Bug #47579

AssertionError sur "same_user" pour une fiche

Ajouté par Thomas Noël il y a plus de 3 ans. Mis à jour il y a plus de 3 ans.

Statut:
Rejeté
Priorité:
Normal
Assigné à:
-
Version cible:
-
Début:
12 octobre 2020
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Non
Planning:
Non

Description

Pour savoir la liste des fiches liées à un utilisateur, je tente un « cards|objects:"foobar"|some_user » mais dans un inspect on voit que ça débouche sur un "AssertionError:" sans autre détail

Historique

#2

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

Je dirais bien qu'on n'a pas de notion officielle de fiche liée à un usager (#37527) et que voilà donc.

Mais ici c'est pas ça, |same_user c'est pour faire référence à la demande qui serait en début de filtre, ça n'est pas "filtrer par rapport à l'usager connecté". Mais tu as un filtre |filter_by_user, peut-être que |filter_by_user:session_user ou session_user_quelquechose, doit marcher.

#3

Mis à jour par Thomas Noël il y a plus de 3 ans

  • Statut changé de Nouveau à Rejeté

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

Je dirais bien qu'on n'a pas de notion officielle de fiche liée à un usager (#37527) et que voilà donc.

L'action de création de fiche permet de faire une fiche avec le même user que la demande, c'est ce qui est en place dans le cas que j'ai sous les yeux.

Mais ici c'est pas ça, |same_user c'est pour faire référence à la demande qui serait en début de filtre, ça n'est pas "filtrer par rapport à l'usager connecté". Mais tu as un filtre |filter_by_user, peut-être que |filter_by_user:session_user ou session_user_quelquechose, doit marcher

Pfff bien sûr... bon, |filter_by_user:form_user et c'est nickel.

Reste que j'arrive par à comprendre ce "AssertionError:" vide, ou alors ça vient du fin fond d'un vrai "assert ..." dans le code de wcs et je continuerais à lutter contre ces façons de faire :)

#4

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

|filter_by_user:session_user devrait fonctionner; on a ça dans les tests :

    tmpl = Template('{{form_objects|filter_by_user:form_user|filter_by:"foo_foo"|filter_value:"foo"|count}}')
#5

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

Ça vient de :

    def same_user(self):
        assert self._formdata
#6

Mis à jour par Thomas Noël il y a plus de 3 ans

Si on avait eu « assert self._formdata, "no related form data" » ça aurait pu m'aiguiller un peu (éventuellement avec un autre texte). Ne serait-ce que pour faire un git grep. Qu'en penses-tu ?

#7

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

Oui tout à fait.

Formats disponibles : Atom PDF