Projet

Général

Profil

Development #33328

la méthode __str__ de RoleParenting ne marche pas

Ajouté par Valentin Deniaud il y a presque 5 ans. Mis à jour il y a presque 5 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
21 mai 2019
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

from authentic2.a2_rbac.models import RoleParenting
qs = RoleParenting.objects.all()
print qs

Le print qs lève un AttributeError sur un self.name dans __str__. Rencontré en jouant dans un shell ipython.

La ligne fautive est introduite dans #31184. En passant il faudra vérifier les autres méthodes __str__ ajoutées dans ce patch.


Fichiers

Révisions associées

Révision bd094735 (diff)
Ajouté par Valentin Deniaud il y a presque 5 ans

a2_rbac: fix RoleParenting.__str__ magic method (#33328)

Historique

#1

Mis à jour par Benjamin Dauvergne il y a presque 5 ans

  • Assigné à changé de Paul Marillonnet à Valentin Deniaud

Allez hop le stagiaire.

#2

Mis à jour par Paul Marillonnet il y a presque 5 ans

Merci. Peut-être une version où l'on va chercher la clé naturelle ?

#3

Mis à jour par Valentin Deniaud il y a presque 5 ans

Benjamin Dauvergne a écrit :

Allez hop le stagiaire.

J'ai plus que 6 mois à tenir et j'aurais évité tout contact avec la magie compatibilité py2/3, laisse moi faire l'autruche !

Paul Marillonnet a écrit :

Merci. Peut-être une version où l'on va chercher la clé naturelle ?

Clairement parce que <QuerySet [<RoleParenting: [[u'_a2-administrateur-des-utilisateurs', None, None], [u'_a2-manager', None, None], True]>, <RoleParenting: [[u'_a2-administrateur-des-roles', None, None], [u'_a2-manager', None, None], True]>, ...]> c'est pas très digeste.

#4

Mis à jour par Valentin Deniaud il y a presque 5 ans

Valentin Deniaud a écrit :

Clairement parce que <QuerySet [<RoleParenting: [[u'_a2-administrateur-des-utilisateurs', None, None], [u'_a2-manager', None, None], True]>, <RoleParenting: [[u'_a2-administrateur-des-roles', None, None], [u'_a2-manager', None, None], True]>, ...]> c'est pas très digeste.

Bon j'avais mal lu, désolé pour cette formulation qui n'a du coup aucun sens.
J'en profite pour proposer un formatage plus sympa.

#5

Mis à jour par Paul Marillonnet il y a presque 5 ans

  • Statut changé de Solution proposée à Solution validée

Ok oui, c'est bien mieux comme ça.

#6

Mis à jour par Paul Marillonnet il y a presque 5 ans

Et puisque l'absence de tests a masqué cette boulette de ma part, tu peux en profiter pour patcher les tests, sans doute juste un truc du genre :

diff --git a/tests/test_data_transfer.py b/tests/test_data_transfer.py
index 43543a3f..5fcd1bb4 100644
--- a/tests/test_data_transfer.py
+++ b/tests/test_data_transfer.py
@@ -466,7 +466,9 @@ def test_import_role_handle_manager_role_parenting(db):
     import_site({'roles': [child_role_dict, parent_role_dict]}, ImportContext())
     child = Role.objects.get(slug='child-role')
     manager = Role.objects.get(slug='_a2-managers-of-role-grand-parent-role')
-    RoleParenting.objects.get(child=child, parent=manager, direct=True)
+    rp = RoleParenting.objects.get(child=child, parent=manager, direct=True)
+    # test RoleParenting.__str__ custom magic method
+    print rp

 def test_import_roles_role_delete_orphans(db):

#7

Mis à jour par Valentin Deniaud il y a presque 5 ans

#8

Mis à jour par Valentin Deniaud il y a presque 5 ans

Ajouté le test (git redmine a changé les statuts du ticket, cpasmoi®)

#9

Mis à jour par Benjamin Dauvergne il y a presque 5 ans

  • Statut changé de Solution proposée à Solution validée
#10

Mis à jour par Valentin Deniaud il y a presque 5 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit bd09473532a5679318d7586d898a2d4648d1b683
Author: Valentin Deniaud <vdeniaud@entrouvert.com>
Date:   Wed May 22 15:23:00 2019 +0200

    a2_rbac: fix RoleParenting.__str__ magic method (#33328)
#11

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

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

Formats disponibles : Atom PDF