Project

General

Profile

Développement #33328

la méthode __str__ de RoleParenting ne marche pas

Added by Valentin Deniaud over 5 years ago. Updated over 5 years ago.

Status:
Fermé
Priority:
Normal
Category:
-
Target version:
-
Start date:
21 May 2019
Due date:
% Done:

0%

Estimated time:
Patch proposed:
Yes
Planning:
No

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.


Files

Associated revisions

Revision bd094735 (diff)
Added by Valentin Deniaud over 5 years ago

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

History

#1

Updated by Benjamin Dauvergne over 5 years ago

  • Assignee changed from Paul Marillonnet to Valentin Deniaud

Allez hop le stagiaire.

#2

Updated by Paul Marillonnet over 5 years ago

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

#3

Updated by Valentin Deniaud over 5 years ago

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

Updated by Valentin Deniaud over 5 years ago

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

Updated by Paul Marillonnet over 5 years ago

  • Status changed from Solution proposée to Solution validée

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

#6

Updated by Paul Marillonnet over 5 years ago

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

Updated by Valentin Deniaud over 5 years ago

#8

Updated by Valentin Deniaud over 5 years ago

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

#9

Updated by Benjamin Dauvergne over 5 years ago

  • Status changed from Solution proposée to Solution validée
#10

Updated by Valentin Deniaud over 5 years ago

  • Status changed from Solution validée to 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

Updated by Frédéric Péters over 5 years ago

  • Status changed from Résolu (à déployer) to Solution déployée

Also available in: Atom PDF