From c1181753c55890680deac32d5ddc6d11ac2be878 Mon Sep 17 00:00:00 2001 From: Adrien Gallou Date: Thu, 1 Jan 2026 14:39:38 +0100 Subject: [PATCH] =?UTF-8?q?correction=20gestion=20des=20r=C3=B4les?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit On a des utilisateurs qui avaient le droit d'accéder à la partie evenement de l'admin qui ont indiqué toujours y avoir accès, alors même qu'il leur avait été enlevé. Cela car le rôle au niveau du levelModules a bien été enlevé, mais dans le json des roles on a ROLE_FORUM, alors qu'on ne devrait pas se retrouver avec cette valeur enregistrée, elle est ajoutée dynamiquement. En supprimant ces rôles ajoutés dynamiquement venant du json de rôles on gère ainsi aussi l'historique des cas qui ne devraient plus y avoir accès. --- sources/AppBundle/Association/Model/User.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sources/AppBundle/Association/Model/User.php b/sources/AppBundle/Association/Model/User.php index 1234ced14..bba8f49d6 100644 --- a/sources/AppBundle/Association/Model/User.php +++ b/sources/AppBundle/Association/Model/User.php @@ -639,7 +639,9 @@ public function getRoles(): array } // On enlève le rôle ROLE_MEMBER_EXPIRED vu qu'il est défini en fonction de la cotisation dans les defaultRoles - $userRoles = array_diff($this->roles, ['ROLE_MEMBER_EXPIRED']); + // on fait de même avec tous les autres rôles définis en fonction des champs levelModules car ils peuvent se retrouver + // en base dans le tableau de rôle, et on ne veux pas que si on modifie le levelModules pour l'enlever, il reste via le roles + $userRoles = array_diff($this->roles, ['ROLE_MEMBER_EXPIRED', 'ROLE_SUPER_ADMIN', 'ROLE_APERO', 'ROLE_ANNUAIRE', 'ROLE_SITE', 'ROLE_FORUM', 'ROLE_ANTENNE']); return array_unique(array_merge($userRoles, $defaultRoles)); }