src/Controller/MesureController.php line 76

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Mesure;
  4. use App\Form\MesureType;
  5. use App\Repository\MesureRepository;
  6. use App\Repository\BilanRepository;
  7. use DateTimeImmutable;
  8. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  9. use Symfony\Component\HttpFoundation\Request;
  10. use Symfony\Component\HttpFoundation\Response;
  11. use Symfony\Component\Routing\Annotation\Route;
  12. /**
  13.  * @Route("/mesure")
  14.  */
  15. class MesureController extends AbstractController
  16. {
  17.     /**
  18.      * @Route("/", name="app_mesure_index", methods={"GET"})
  19.      */
  20.     public function index(MesureRepository $mesureRepository): Response
  21.     {
  22.         return $this->render('mesure/index.html.twig', [
  23.             'mesures' => $mesureRepository->findAll(),
  24.         ]);
  25.     }
  26.     /**
  27.      * @Route("/new/{bilan_id}", name="app_mesure_new", methods={"GET", "POST"})
  28.      */
  29.     public function new(Request $requestMesureRepository $mesureRepositoryBilanRepository $bilanRepository$bilan_id): Response
  30.     {
  31.         $bilan $bilanRepository->find($bilan_id);
  32.         $mesure = new Mesure();
  33.         $form $this->createForm(MesureType::class, $mesure);
  34.         $form->handleRequest($request);
  35.         if ($form->isSubmitted() && $form->isValid()) {
  36.             $mesure->setCreatedAt( new DateTimeImmutable());
  37.             $mesure->setUpdatedAt(new DateTimeImmutable());
  38.             if($request->request->get('active') == null)
  39.             { 
  40.                 $mesure->setActive(false);
  41.             }else{
  42.                 $mesure->setActive(true);
  43.             }
  44.             $bilan->addMesure($mesure);
  45.             $mesureRepository->add($mesuretrue);
  46.             return $this->redirectToRoute('app_bilan_show', ['id'=>$bilan->getId()]);
  47.         }
  48.         return $this->renderForm('mesure/new.html.twig', [
  49.             'mesure' => $mesure,
  50.             'bilan_id'=>$bilan_id,
  51.             'form' => $form,
  52.         ]);
  53.     }
  54.     /**
  55.      * @Route("/{id}", name="app_mesure_show", methods={"GET"})
  56.      */
  57.     public function show(Mesure $mesure): Response
  58.     {
  59.         return $this->render('mesure/show.html.twig', [
  60.             'mesure' => $mesure,
  61.         ]);
  62.     }
  63.     /**
  64.      * @Route("/{id}/edit", name="app_mesure_edit", methods={"GET", "POST"})
  65.      */
  66.     public function edit(Request $requestMesure $mesureMesureRepository $mesureRepository): Response
  67.     {
  68.         $form $this->createForm(MesureType::class, $mesure);
  69.         $form->handleRequest($request);
  70.         if ($form->isSubmitted() && $form->isValid()) {
  71.             $mesureRepository->add($mesuretrue);
  72.             return $this->redirectToRoute('app_mesure_index', [], Response::HTTP_SEE_OTHER);
  73.         }
  74.         return $this->renderForm('mesure/edit.html.twig', [
  75.             'mesure' => $mesure,
  76.             'form' => $form,
  77.         ]);
  78.     }
  79.     /**
  80.      * @Route("/{id}", name="app_mesure_delete", methods={"POST"})
  81.      */
  82.     public function delete(Request $requestMesure $mesureMesureRepository $mesureRepository): Response
  83.     {
  84.         if ($this->isCsrfTokenValid('delete'.$mesure->getId(), $request->request->get('_token'))) {
  85.             $mesureRepository->remove($mesuretrue);
  86.         }
  87.         return $this->redirectToRoute('app_mesure_index', [], Response::HTTP_SEE_OTHER);
  88.     }
  89. }