Project

General

Profile

Development #34774

renommer le rôle "administrateur du rôle xxx" quand le rôle xxx change de nom

Added by Frédéric Péters 12 days ago. Updated 12 days ago.

Status:
Solution proposée
Priority:
Normal
Category:
-
Target version:
-
Start date:
11 Jul 2019
Due date:
% Done:

0%

Patch proposed:
Yes
Planning:
No

Description

Aujourd'hui on dirait que ce n'est pas le cas et ça peut prêter à confusion.

0001-a2_rbac-rename-role-s-admin-role-on-role-s-rename-34.patch View (9.11 KB) Benjamin Dauvergne, 12 Jul 2019 10:03 AM

0001-a2_rbac-remove-unused-symbol-34774.patch View (936 Bytes) Benjamin Dauvergne, 12 Jul 2019 02:47 PM

0002-a2_rbac-do-not-use-lazy-string-in-model-name-34774.patch View (1.45 KB) Benjamin Dauvergne, 12 Jul 2019 02:47 PM

0003-a2_rbac-rename-role-s-admin-role-on-role-s-rename-34.patch View (9.12 KB) Benjamin Dauvergne, 12 Jul 2019 02:47 PM

Associated revisions

Revision 14d0a343 (diff)
Added by Benjamin Dauvergne 12 days ago

tests: add tests to check for role's admin role cleanup (#34774)

History

#1 Updated by Thomas Noël 12 days ago

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)

#2 Updated by Benjamin Dauvergne 12 days ago

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.

#3 Updated by Benjamin Dauvergne 12 days ago

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.

#4 Updated by Benjamin Dauvergne 12 days ago

  • Assignee set to Benjamin Dauvergne

#5 Updated by Benjamin Dauvergne 12 days ago

Voilà.

#6 Updated by Frédéric Péters 12 days ago

  • Status changed from Solution proposée to En cours

(jenkins en échec)

#7 Updated by Benjamin Dauvergne 12 days ago

Vieux bug partiellement corrigé plus haut dans le code, là ça passe.

Also available in: Atom PDF