Loading src/Service/UtilisateurService.php +8 −6 Changes for src/Service/UtilisateurService.php: 8 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ namespace Unicaen\Utilisateur\Service; use Doctrine\ORM\EntityManagerInterface; use Unicaen\Utilisateur\Model\UserInterface; class UtilisateurService { Loading @@ -12,23 +13,24 @@ class UtilisateurService { } public function setDefaultActiveRoleForUser($user): void public function setDefaultActiveRoleForUser(UserInterface $user): void { if (!$user->getActiveRole() && count($user->getFullRoles()) > 0) { if (!$user->getActiveRole() && !empty($user->getFullRoles())) { if(!$user->getFullRoles()[0]->getRole()){ return; } $user->setActiveRole($user->getFullRoles()[0]); $this->em->persist($user); $this->em->flush(); } } if (!$user->getActivePerimetreUserRole() && count($user->getFullRoles()) > 0) { public function setDefaultActivePerimetreRoleForUser(UserInterface $user): void { if (!$user->getActivePerimetreUserRole() && !empty($user->getFullRoles())) { $perimetresUserRoles = $user->getFullRoles()[0]?->getPerimetres(); $perimetreUserRole = $perimetresUserRoles ? $perimetresUserRoles[0] : null; $perimetreUserRole = isset($perimetresUserRoles) ? $perimetresUserRoles[0] : null; if($perimetreUserRole){ $user->setActivePerimetreUserRole($perimetreUserRole); $this->em->persist($user); $this->em->flush(); } } Loading src/State/UtilisateurMeStateProvider.php +4 −1 Changes for src/State/UtilisateurMeStateProvider.php: 4 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -38,9 +38,12 @@ readonly class UtilisateurMeStateProvider implements ProviderInterface $isPerimetreEnable = $this->privilegeService->isPerimetreEnable(); if($isPerimetreEnable && ($user->getActivePerimetreUserRole() === null || $user->getActiveRole() === null)){ if($user->getActiveRole() === null ){ $this->utilisateurService->setDefaultActiveRoleForUser($user); } if($isPerimetreEnable && $user->getActivePerimetreUserRole() === null){ $this->utilisateurService->setDefaultActivePerimetreRoleForUser($user); } $dto = new UtilisateurMeResource(); $dto->id = $user->getId(); Loading Loading
src/Service/UtilisateurService.php +8 −6 Changes for src/Service/UtilisateurService.php: 8 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -3,6 +3,7 @@ namespace Unicaen\Utilisateur\Service; use Doctrine\ORM\EntityManagerInterface; use Unicaen\Utilisateur\Model\UserInterface; class UtilisateurService { Loading @@ -12,23 +13,24 @@ class UtilisateurService { } public function setDefaultActiveRoleForUser($user): void public function setDefaultActiveRoleForUser(UserInterface $user): void { if (!$user->getActiveRole() && count($user->getFullRoles()) > 0) { if (!$user->getActiveRole() && !empty($user->getFullRoles())) { if(!$user->getFullRoles()[0]->getRole()){ return; } $user->setActiveRole($user->getFullRoles()[0]); $this->em->persist($user); $this->em->flush(); } } if (!$user->getActivePerimetreUserRole() && count($user->getFullRoles()) > 0) { public function setDefaultActivePerimetreRoleForUser(UserInterface $user): void { if (!$user->getActivePerimetreUserRole() && !empty($user->getFullRoles())) { $perimetresUserRoles = $user->getFullRoles()[0]?->getPerimetres(); $perimetreUserRole = $perimetresUserRoles ? $perimetresUserRoles[0] : null; $perimetreUserRole = isset($perimetresUserRoles) ? $perimetresUserRoles[0] : null; if($perimetreUserRole){ $user->setActivePerimetreUserRole($perimetreUserRole); $this->em->persist($user); $this->em->flush(); } } Loading
src/State/UtilisateurMeStateProvider.php +4 −1 Changes for src/State/UtilisateurMeStateProvider.php: 4 added lines, 1 removed line. Original line number Diff line number Diff line Loading @@ -38,9 +38,12 @@ readonly class UtilisateurMeStateProvider implements ProviderInterface $isPerimetreEnable = $this->privilegeService->isPerimetreEnable(); if($isPerimetreEnable && ($user->getActivePerimetreUserRole() === null || $user->getActiveRole() === null)){ if($user->getActiveRole() === null ){ $this->utilisateurService->setDefaultActiveRoleForUser($user); } if($isPerimetreEnable && $user->getActivePerimetreUserRole() === null){ $this->utilisateurService->setDefaultActivePerimetreRoleForUser($user); } $dto = new UtilisateurMeResource(); $dto->id = $user->getId(); Loading