Commit 32c6da0f authored by David Surville's avatar David Surville
Browse files

Suppression dans la base du rattachement d'un rôle automatique à un...

Suppression dans la base du rattachement d'un rôle automatique à un utilisateur si le rôle n'est rattaché à aucun périmètre
parent 5b629948
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -378,6 +378,16 @@ class UserService extends CommonService implements RechercheIndividuServiceInter
            throw new RuntimeException("Un problème est survenu lors de la suppression du périmètre \"" . $perimetre->getLibelle() . "\" à l'utilisateur " . $utilisateur->getUsername() . ".", null, $e);
        }

        // cas d'un rôle automatique : suppression du rôle de l'utilisateur dans la base si aucun périmètre n'est rattaché à celui-ci
        if($userRole->getRole()->isAuto() && $userRole->getPerimetres()->isEmpty()) {
            try {
                $this->getEntityManager()->remove($userRole);
                $this->getEntityManager()->flush($userRole);
            } catch (\Exception $e) {
                throw new RuntimeException("Un problème est survenu lors de la suppression du périmètre \"" . $perimetre->getLibelle() . "\" à l'utilisateur " . $utilisateur->getUsername() . ".", null, $e);
            }
        }

        return $utilisateur;
    }