Development #34774
renommer le rôle "administrateur du rôle xxx" quand le rôle xxx change de nom
0%
Description
Aujourd'hui on dirait que ce n'est pas le cas et ça peut prêter à confusion.
Fichiers
Révisions associées
a2_rbac: remove unused symbol (#34774)
a2_rbac: do not use lazy string in model name (#34774)
a2_rbac: rename role's admin role on role's rename (#34774)
Historique
Mis à jour par Thomas Noël il y a presque 5 ans
On dirait aussi que ces rôles ne disparaissent pas quand un rôle est supprimé (j'en ai pas l'assurance totale, je dis ça ici pour plus tard, je ne peux confirmer maintenant)
Mis à jour par Benjamin Dauvergne il y a presque 5 ans
Normalement ils devraient être nettoyé par cette méthode :
138 def cleanup(self): 139 count = 0 140 for r in self.filter( 141 Q(admin_scope_ct_id__isnull=False) | Q(admin_scope_id__isnull=False)): 142 if not r.admin_scope: 143 r.delete() 144 count += 1 145 return count
dans django_rbac/managers.py mais visiblement elle ne fait pas son job.
Mis à jour par Benjamin Dauvergne il y a presque 5 ans
En fait non ce n'est plus nécessaire, il y a des GenericRelation qui font que ces rôles seront supprimés.
En fait on a :
role <--target-- admin_permission <--admin_scope-- admin_role
target et admin_scope sont des relations génériques mais comme elles sont déclarées aussi sur Role et Permission avec GenericRelation sur chaque suppression d'un rôle ou d'une permission ça remonte jusqu'à AdminRole en cascade.
Si il restait de tels rôle c'est qu'il doit y avoir eu une erreur, ou que ça date d'avant l'ajout de ces relations.
Mis à jour par Benjamin Dauvergne il y a presque 5 ans
- Fichier 0001-a2_rbac-rename-role-s-admin-role-on-role-s-rename-34.patch 0001-a2_rbac-rename-role-s-admin-role-on-role-s-rename-34.patch ajouté
- Statut changé de Nouveau à Solution proposée
- Patch proposed changé de Non à Oui
Voilà.
Mis à jour par Frédéric Péters il y a presque 5 ans
- Statut changé de Solution proposée à En cours
(jenkins en échec)
Mis à jour par Benjamin Dauvergne il y a presque 5 ans
- Fichier 0001-a2_rbac-remove-unused-symbol-34774.patch 0001-a2_rbac-remove-unused-symbol-34774.patch ajouté
- Fichier 0002-a2_rbac-do-not-use-lazy-string-in-model-name-34774.patch 0002-a2_rbac-do-not-use-lazy-string-in-model-name-34774.patch ajouté
- Fichier 0003-a2_rbac-rename-role-s-admin-role-on-role-s-rename-34.patch 0003-a2_rbac-rename-role-s-admin-role-on-role-s-rename-34.patch ajouté
- Statut changé de En cours à Solution proposée
Vieux bug partiellement corrigé plus haut dans le code, là ça passe.
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Statut changé de Solution proposée à Solution validée
Mis à jour par Benjamin Dauvergne il y a plus de 4 ans
- Statut changé de Solution validée à Résolu (à déployer)
commit 5732f219c5f5f6c18e3ec7f11bc3de41435e239b Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Jul 12 10:03:06 2019 +0200 a2_rbac: rename role's admin role on role's rename (#34774) commit d6fbfaa0c83811047f59d10a4ae7299f4b5af87d Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Jul 12 14:33:37 2019 +0200 a2_rbac: do not use lazy string in model name (#34774) commit 4a28edd5ae44bbd1a382b90a9565c174bbfb9b05 Author: Benjamin Dauvergne <bdauvergne@entrouvert.com> Date: Fri Jul 12 14:33:24 2019 +0200 a2_rbac: remove unused symbol (#34774)
Mis à jour par Frédéric Péters il y a plus de 4 ans
- Statut changé de Résolu (à déployer) à Solution déployée
tests: add tests to check for role's admin role cleanup (#34774)