ProfilController.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. namespace App\Controller;
  3. use Doctrine\ORM\EntityManagerInterface;
  4. use App\Form\UserEditProfilType;
  5. use App\Form\ProfileType;
  6. use App\Repository\ProfileRepository;
  7. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  8. use Symfony\Component\HttpFoundation\Request;
  9. use Symfony\Component\HttpFoundation\Response;
  10. use Symfony\Component\Routing\Annotation\Route;
  11. class ProfilController extends AbstractController
  12. {
  13. #[Route("/profil", name: "user_profil")]
  14. public function monProfilAction(Request $request, EntityManagerInterface $em): Response
  15. {
  16. $user = $this->getUser();
  17. $form = $this->createForm(UserEditProfilType::class , $user);
  18. $form->handleRequest($request);
  19. if ($form->isSubmitted() && $form->isValid())
  20. {
  21. $user = $form->getData();
  22. $em->flush();
  23. $this->addFlash('success', "Votre profil a été modifié");
  24. }
  25. return $this->renderForm('profil/monprofil.html.twig', array (
  26. 'form' => $form
  27. ));
  28. }
  29. #[Route("/preferences", name: "user_preferences")]
  30. public function mesPreferencesAction(Request $request, EntityManagerInterface $em, ProfileRepository $profileRepo): Response
  31. {
  32. $profile = $profileRepo->findByUser($this->getUser());
  33. $form = $this->createForm(ProfileType::class , $profile);
  34. $form->handleRequest($request);
  35. if ($form->isSubmitted() && $form->isValid())
  36. {
  37. $profile = $form->getData();
  38. $em->flush();
  39. $this->addFlash('success', "Les préférences ont été modifiées");
  40. }
  41. return $this->renderForm('profil/mespreferences.html.twig', [
  42. 'form' => $form
  43. ]);
  44. }
  45. }