src/Controller/UserController.php line 52

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\User;
  4. use App\Form\UserType;
  5. use App\Repository\UserRepository;
  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. /**
  11.  * @Route("/user")
  12.  */
  13. class UserController extends AbstractController
  14. {
  15.     /**
  16.      * @Route("/", name="app_user_index", methods={"GET"})
  17.      */
  18.     public function index(UserRepository $userRepository): Response
  19.     {
  20.         return $this->render('user/index.html.twig', [
  21.             'users' => $userRepository->findAll(),
  22.         ]);
  23.     }
  24.     /**
  25.      * @Route("/new", name="app_user_new", methods={"GET", "POST"})
  26.      */
  27.     public function new(Request $requestUserRepository $userRepository): Response
  28.     {
  29.         $user = new User();
  30.         $form $this->createForm(UserType::class, $user);
  31.         $form->handleRequest($request);
  32.         if ($form->isSubmitted() && $form->isValid()) {
  33.             $userRepository->add($usertrue);
  34.             return $this->redirectToRoute('app_user_index', [], Response::HTTP_SEE_OTHER);
  35.         }
  36.         return $this->renderForm('user/new.html.twig', [
  37.             'user' => $user,
  38.             'form' => $form,
  39.         ]);
  40.     }
  41.     /**
  42.      * @Route("/{id}", name="app_user_show", methods={"GET"})
  43.      */
  44.     public function show(User $user): Response
  45.     {
  46.         return $this->render('user/show.html.twig', [
  47.             'user' => $user,
  48.         ]);
  49.     }
  50.     /**
  51.      * @Route("/{id}/edit", name="app_user_edit", methods={"GET", "POST"})
  52.      */
  53.     public function edit(Request $requestUser $userUserRepository $userRepository): Response
  54.     {
  55.         $form $this->createForm(UserType::class, $user);
  56.         $form->handleRequest($request);
  57.         if ($form->isSubmitted() && $form->isValid()) {
  58.             $userRepository->add($usertrue);
  59.             return $this->redirectToRoute('app_user_index', [], Response::HTTP_SEE_OTHER);
  60.         }
  61.         return $this->renderForm('user/edit.html.twig', [
  62.             'user' => $user,
  63.             'form' => $form,
  64.         ]);
  65.     }
  66.     /**
  67.      * @Route("/{id}", name="app_user_delete", methods={"POST"})
  68.      */
  69.     public function delete(Request $requestUser $userUserRepository $userRepository): Response
  70.     {
  71.         if ($this->isCsrfTokenValid('delete'.$user->getId(), $request->request->get('_token'))) {
  72.             $userRepository->remove($usertrue);
  73.         }
  74.         return $this->redirectToRoute('app_user_index', [], Response::HTTP_SEE_OTHER);
  75.     }
  76. }