Development #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.
Fichiers
Révisions associées
Historique
Mis à jour par Benjamin Dauvergne il y a presque 5 ans
- Assigné à changé de Paul Marillonnet à Valentin Deniaud
Allez hop le stagiaire.
Mis à jour par Paul Marillonnet il y a presque 5 ans
- Fichier 0001-a2_rbac-fix-RoleParenting.__str__-magic-method-33328.patch 0001-a2_rbac-fix-RoleParenting.__str__-magic-method-33328.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Merci. Peut-être une version où l'on va chercher la clé naturelle ?
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.
Mis à jour par Valentin Deniaud il y a presque 5 ans
- Fichier 0001-a2_rbac-fix-RoleParenting.__str__-magic-method-33328.patch 0001-a2_rbac-fix-RoleParenting.__str__-magic-method-33328.patch ajouté
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.
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.
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):
Mis à jour par Valentin Deniaud il y a presque 5 ans
- Fichier 0001-a2_rbac-fix-RoleParenting.__str__-magic-method-33328.patch 0001-a2_rbac-fix-RoleParenting.__str__-magic-method-33328.patch ajouté
- Tracker changé de Bug à Development
- Statut changé de Solution validée à Solution proposée
Mis à jour par Valentin Deniaud il y a presque 5 ans
Ajouté le test (git redmine a changé les statuts du ticket, cpasmoi®)
Mis à jour par Benjamin Dauvergne il y a presque 5 ans
- Statut changé de Solution proposée à Solution validée
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)
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
a2_rbac: fix RoleParenting.__str__ magic method (#33328)