Développement #33328
la méthode __str__ de RoleParenting ne marche pas
0%
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
History
Updated by Benjamin Dauvergne over 5 years ago
- Assignee changed from Paul Marillonnet to Valentin Deniaud
Allez hop le stagiaire.
Updated by Paul Marillonnet over 5 years ago
- File 0001-a2_rbac-fix-RoleParenting.__str__-magic-method-33328.patch 0001-a2_rbac-fix-RoleParenting.__str__-magic-method-33328.patch added
- Status changed from Nouveau to Solution proposée
- Patch proposed changed from No to Yes
Merci. Peut-être une version où l'on va chercher la clé naturelle ?
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.
Updated by Valentin Deniaud over 5 years ago
- File 0001-a2_rbac-fix-RoleParenting.__str__-magic-method-33328.patch 0001-a2_rbac-fix-RoleParenting.__str__-magic-method-33328.patch added
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.
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.
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):
Updated by Valentin Deniaud over 5 years ago
- File 0001-a2_rbac-fix-RoleParenting.__str__-magic-method-33328.patch 0001-a2_rbac-fix-RoleParenting.__str__-magic-method-33328.patch added
- Tracker changed from Bug to Développement
- Status changed from Solution validée to Solution proposée
Updated by Valentin Deniaud over 5 years ago
Ajouté le test (git redmine a changé les statuts du ticket, cpasmoi®)
Updated by Benjamin Dauvergne over 5 years ago
- Status changed from Solution proposée to Solution validée
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)
Updated by Frédéric Péters over 5 years ago
- Status changed from Résolu (à déployer) to Solution déployée
a2_rbac: fix RoleParenting.__str__ magic method (#33328)