src/Controller/UserController.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\User;
  4. use App\Form\UserType;
  5. use Doctrine\ORM\EntityManagerInterface;
  6. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  7. use Symfony\Component\HttpFoundation\Request;
  8. use Symfony\Component\HttpFoundation\Response;
  9. use Symfony\Component\Routing\Annotation\Route;
  10. class UserController extends AbstractController
  11. {
  12.     
  13.     public function index(Request $requestEntityManagerInterface $entityManager): Response
  14.     {
  15.         $users $entityManager->getRepository(User::class)->findAll();
  16.         return $this->render('user/index.html.twig', [
  17.             'controller_name' => 'UserController',
  18.             'users' => $users
  19.         ]);
  20.     }
  21.     public function create(Request $requestEntityManagerInterface $entityManager): Response
  22.     {
  23.         $user = new User();
  24.         $form $this->createForm(UserType::class, $user);
  25.         $form->handleRequest($request);
  26.         if ($form->isSubmitted() && $form->isValid()) {
  27.             $entityManager->persist($user);
  28.             $entityManager->flush();
  29.             return $this->redirectToRoute('user_list');
  30.         }
  31.         return $this->render('user/create.html.twig', [
  32.             'form' => $form->createView(),
  33.              'title' => 'Créer un utilisateur'
  34.         ]);
  35.     }
  36.     
  37.     public function edit(Request $requestEntityManagerInterface $entityManager$id): Response
  38.     {
  39.         $user $entityManager->getRepository(User::class)->findOneBy(['id' => $id]);        
  40.         $form $this->createForm(UserType::class, $user);
  41.         $form->handleRequest($request);
  42.         if ($form->isSubmitted() && $form->isValid()) {
  43.             $entityManager->flush();
  44.             return $this->redirectToRoute('user_list');
  45.         }
  46.         return $this->render('user/create.html.twig', [
  47.             'form' => $form->createView(),
  48.             'title' => 'Modifier l\'utilisateur'
  49.         ]);
  50.     }
  51.     public function delete($idEntityManagerInterface $entityManager): Response
  52.     {
  53.         $user $entityManager->getRepository(User::class)->findOneBy(['id' => $id]);        
  54.         $entityManager->remove($user);
  55.         $entityManager->flush();
  56.         return $this->redirectToRoute('user_list');
  57.     }
  58. }