diff --git a/config/packages/security.yaml b/config/packages/security.yaml index fb717d56ae3ec2dddee48ceeefdea92342e32bc1..a7a4e9c67f762c3f917869a24ed7bdca086b2467 100644 --- a/config/packages/security.yaml +++ b/config/packages/security.yaml @@ -26,7 +26,7 @@ security: api_token: pattern: ^/api/token$ security: false - api: # Pour permettre à l'utilisateur connecté sur Balex (avec rôle admin) d'utiliser le swagger sans token, on commente tout le pare-feu "api" + api: pattern: ^/api(?!/doc$) # Accepts routes under /api except /api/doc (pour api/doc, on utilisera donc le firewall "main" ce qui permettra d'accéder au swagger quand on est authentifié via Session PHP avec le role Admin security: true stateless: true # Pas d'authentification, pas de session utilisateur (mais le compte user est vérifié via le token) diff --git a/src/Repository/LexiconRepository.php b/src/Repository/LexiconRepository.php index da4d3ff0d8f9d8a4b768645d49692862d58f05d6..17d7b9d4beb6be4692fade668139e424e5f64561 100644 --- a/src/Repository/LexiconRepository.php +++ b/src/Repository/LexiconRepository.php @@ -29,8 +29,11 @@ class LexiconRepository extends ServiceEntityRepository ->leftJoin('l.group', 'g') ; + // On retourne tous les lexiques liés à l'utilisateur, pas uniquement son lexique personnel if ($filter['user'] ?? null) { - $qb->andWhere('u = :user') + $qb + ->leftJoin('g.groupMemberships', 'gm') + ->andWhere('u = :user OR gm.user = :user') ->setParameter('user', $filter['user']) ; }