Projet

Général

Profil

Bug #67489

Bogue sur export JSON des rôles, des relations circulaires visibles

Ajouté par Thomas Noël il y a presque 2 ans. Mis à jour il y a presque 2 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Catégorie:
-
Version cible:
-
Début:
19 juillet 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Sur un export des rôles, sans que j'arrive à reproduire la situation encore, on peut voir des relations circulaires alors que rien ne les montre dans l'UI.


Fichiers

Révisions associées

Révision 497994bc (diff)
Ajouté par Frédéric Péters il y a presque 2 ans

misc: do not export deleted role parenting relations (#67489)

Historique

#1

Mis à jour par Thomas Noël il y a presque 2 ans

  • Privée changé de Oui à Non
#4

Mis à jour par Frédéric Péters il y a presque 2 ans

Je regardais dans la db, la table a2_rbac_roleparenting, on y a des relations dans les deux sens,

 517 | t      |       15 |       184 | 2022-04-26 09:34:24.396283+02 | 2022-04-26 09:37:17.492269+02
1189 | t      |      184 |        15 | 2022-04-26 09:37:25.496119+02 |

la dernière colonne c'est une colonne deleted, c'est un peu récent, poussé en mars, #57500.

Il me semble que l'export a oublié d'être pris en compte, qu'il y aurait à faire :

diff --git a/src/authentic2/a2_rbac/models.py b/src/authentic2/a2_rbac/models.py
index 00812bc1..282152da 100644
--- a/src/authentic2/a2_rbac/models.py
+++ b/src/authentic2/a2_rbac/models.py
@@ -471,7 +471,7 @@ class Role(RoleAbstractBase):
                 d.setdefault('attributes', []).append(attribute.to_json())

         if parents:
-            for parenting in RoleParenting.objects.filter(child_id=self.id, direct=True):
+            for parenting in RoleParenting.objects.filter(child_id=self.id, direct=True, deleted__isnull=True):
                 d.setdefault('parents', []).append(parenting.parent.natural_key_json())

         if permissions:
#6

Mis à jour par Frédéric Péters il y a presque 2 ans

Voilà avec petit test.

#7

Mis à jour par Frédéric Péters il y a presque 2 ans

  • Assigné à mis à Frédéric Péters
#8

Mis à jour par Thomas Noël il y a presque 2 ans

  • Statut changé de Solution proposée à Solution validée

Super, merci Frédéric. À pousser quand Jenkins sera vert.

#9

Mis à jour par Frédéric Péters il y a presque 2 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 497994bc5b5ad55471bf9faa30ce076785ab004c
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Tue Jul 19 15:29:21 2022 +0200

    misc: do not export deleted role parenting relations (#67489)
#10

Mis à jour par Transition automatique il y a presque 2 ans

  • Statut changé de Résolu (à déployer) à Solution déployée
#11

Mis à jour par Transition automatique il y a plus d'un an

Automatic expiration

Formats disponibles : Atom PDF