em = $em; } public function profile(Request $request): Response { $user = $this->getUser(); $form = $this->createForm(ProfileFormType::class, $user); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $user = $form->getData(); $this->em->update($user); $this->em->flush(); $this->addFlash('success', new TranslatableMessage('form.account_profile.message.success', [], 'admin')); } return $this->render( '@LcSov/user/profile.html.twig', [ 'form' => $form->createView(), ] ); } public function changePassword(Request $request, UserPasswordEncoderInterface $passwordEncoder): Response { $user = $this->getUser(); $form = $this->createForm(ChangePasswordFormType::class, $user); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $user = $form->getData(); $plainPassword = $form->get('plain_password')->getData(); // @TODO : créer UserManager $newPasswordEncoded = $passwordEncoder->encodePassword($user, $plainPassword); $user->setPassword($newPasswordEncoded); $this->em->update($user); $this->em->flush(); $this->addFlash('success', new TranslatableMessage('form.account_password.message.success', [], 'admin')); } return $this->render( '@LcSov/user/change_password.html.twig', [ 'entity_class' => User::class, 'form' => $form->createView() ] ); } }