From 1a601f51a1796f95e362d2e849a24ca5f9dd479d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?H=C3=A9l=C3=A8ne=20Meneuvrier?= Date: Fri, 31 Jan 2025 21:24:34 +0100 Subject: [PATCH] fix edit user's role #3654 --- src/Controller/Back/PartnerController.php | 1 + .../Controller/PartnerControllerTest.php | 25 +++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/src/Controller/Back/PartnerController.php b/src/Controller/Back/PartnerController.php index b5632a391..67993afc5 100755 --- a/src/Controller/Back/PartnerController.php +++ b/src/Controller/Back/PartnerController.php @@ -535,6 +535,7 @@ public function editUser( $user->setPassword(''); $userManager->sendAccountActivationNotification($user); } + $user->setRoles([$formUserPartner->get('role')->getData()]); $userManager->flush(); $this->addFlash('success', 'L\'utilisateur a bien été modifié.'); $url = $this->generateUrl('back_partner_view', ['id' => $partner->getId(), '_fragment' => 'agents'], UrlGeneratorInterface::ABSOLUTE_URL); diff --git a/tests/Functional/Controller/PartnerControllerTest.php b/tests/Functional/Controller/PartnerControllerTest.php index 174e6a5a5..0b1a325fa 100644 --- a/tests/Functional/Controller/PartnerControllerTest.php +++ b/tests/Functional/Controller/PartnerControllerTest.php @@ -270,6 +270,31 @@ public function testAddUserToPartner() $this->assertEmailCount(1); } + public function testEditRoleOfUserOfPartner() + { + /** @var User $partnerUser */ + $partnerUser = $this->userRepository->findOneBy(['email' => 'user-13-01@histologe.fr']); + $partner = $partnerUser->getPartners()->first(); + + $route = $this->router->generate('back_partner_user_edit', ['partner' => $partner->getId(), 'user' => $partnerUser->getId()]); + $this->client->request( + 'POST', + $route, + [ + 'user_partner' => [ + 'role' => 'ROLE_ADMIN_TERRITORY', + 'prenom' => 'John', + 'nom' => 'Doe', + 'email' => 'user-13-01@histologe.fr', + 'isMailingActive' => 0, + '_token' => $this->generateCsrfToken($this->client, 'user_partner'), + ], + ] + ); + $this->assertResponseStatusCodeSame(200); + $this->assertContains('ROLE_ADMIN_TERRITORY', $partnerUser->getRoles()); + } + /** * @dataProvider provideAgentEmailToEdit */