src/Controller/ReservationController.php line 21

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