src/Controller/ProgressionDetailController.php line 20

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Progression;
  4. use App\Entity\ProgressionDetail;
  5. use App\Form\ProgressionDetailPeriode;
  6. use App\Form\ProgressionDetailSeance;
  7. use App\Form\ProgressionDetailType;
  8. use App\Repository\ProgressionDetailRepository;
  9. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  10. use Symfony\Component\HttpFoundation\Request;
  11. use Symfony\Component\HttpFoundation\Response;
  12. use Symfony\Component\Routing\Annotation\Route;
  13. #[Route('/progression/detail')]
  14. class ProgressionDetailController extends AbstractController
  15. {
  16.     #[Route('/{id}'name'app_progression_detail_index'methods: ['GET'])]
  17.     public function index(Progression $progression): Response
  18.     {
  19.         return $this->render('progression_detail/index.html.twig', [
  20.             'progression' => $progression,
  21.         ]);
  22.     }
  23.     #[Route('/new/{id}'name'app_progression_detail_new'methods: ['GET''POST'])]
  24.     public function new(Progression $progression,Request $requestProgressionDetailRepository $progressionDetailRepository): Response
  25.     {
  26.         $progressionDetail = new ProgressionDetail();
  27.         $form $this->createForm(ProgressionDetailType::class, $progressionDetail);
  28.         $form->handleRequest($request);
  29.         if ($form->isSubmitted() && $form->isValid()) {
  30.             $progressionDetail->setRefProgression($progression);
  31.             $progressionDetailRepository->add($progressionDetailtrue);
  32.             return $this->redirectToRoute('app_progression_detail_index', [], Response::HTTP_SEE_OTHER);
  33.         }
  34.         return $this->renderForm('progression_detail/new.html.twig', [
  35.             'progression' => $progression,
  36.             'progression_detail' => $progressionDetail,
  37.             'form' => $form,
  38.         ]);
  39.     }
  40.     #[Route('/{id}/show'name'app_progression_detail_show'methods: ['GET'])]
  41.     public function show(ProgressionDetail $progressionDetail): Response
  42.     {
  43.         return $this->render('progression_detail/show.html.twig', [
  44.             'progression_detail' => $progressionDetail,
  45.         ]);
  46.     }
  47.     #[Route('/{id}/edit'name'app_progression_detail_edit'methods: ['GET''POST'])]
  48.     public function edit(Request $requestProgressionDetail $progressionDetailProgressionDetailRepository $progressionDetailRepository): Response
  49.     {
  50.         $form $this->createForm(ProgressionDetailType::class, $progressionDetail);
  51.         $form->handleRequest($request);
  52.         if ($form->isSubmitted() && $form->isValid()) {
  53.             $progressionDetailRepository->add($progressionDetailtrue);
  54.             return $this->redirectToRoute('app_progression_detail_index', ["id" => $progressionDetail->getRefProgression()->getId()], Response::HTTP_SEE_OTHER);
  55.         }
  56.         return $this->renderForm('progression_detail/edit.html.twig', [
  57.             'progression_detail' => $progressionDetail,
  58.             'form' => $form,
  59.         ]);
  60.     }
  61.     #[Route('/{id}/periode'name'app_progression_detail_periode'methods: ['GET''POST'])]
  62.     public function periode(Request $requestProgressionDetail $progressionDetailProgressionDetailRepository $progressionDetailRepository): Response
  63.     {
  64.         $form $this->createForm(ProgressionDetailPeriode::class, $progressionDetail);
  65.         $form->handleRequest($request);
  66.         if ($form->isSubmitted() && $form->isValid()) {
  67.             $progressionDetailRepository->add($progressionDetailtrue);
  68.             return $this->redirectToRoute('app_progression_detail_index', ["id" => $progressionDetail->getRefProgression()->getId()], Response::HTTP_SEE_OTHER);
  69.         }
  70.         return $this->renderForm('progression_detail/edit.html.twig', [
  71.             'progression_detail' => $progressionDetail,
  72.             'form' => $form,
  73.         ]);
  74.     }
  75.     #[Route('/{id}/seance'name'app_progression_detail_seance'methods: ['GET''POST'])]
  76.     public function seance(Request $requestProgressionDetail $progressionDetailProgressionDetailRepository $progressionDetailRepository): Response
  77.     {
  78.         $form $this->createForm(ProgressionDetailSeance::class, $progressionDetail);
  79.         $form->handleRequest($request);
  80.         if ($form->isSubmitted() && $form->isValid()) {
  81.             $progressionDetailRepository->add($progressionDetailtrue);
  82.             return $this->redirectToRoute('app_progression_detail_index', ["id" => $progressionDetail->getRefProgression()->getId()], Response::HTTP_SEE_OTHER);
  83.         }
  84.         return $this->renderForm('progression_detail/edit.html.twig', [
  85.             'progression_detail' => $progressionDetail,
  86.             'form' => $form,
  87.         ]);
  88.     }
  89.     #[Route('/{id}/seance/remove'name'app_progression_detail_seance_remove'methods: ['GET''POST'])]
  90.     public function seanceRemove(ProgressionDetail $progressionDetailProgressionDetailRepository $progressionDetailRepository): Response
  91.     {
  92.         $progressionDetail->setRefSeance(null);
  93.         $progressionDetailRepository->add($progressionDetailtrue);
  94.         return $this->redirectToRoute('app_progression_detail_index', ["id" => $progressionDetail->getRefProgression()->getId()], Response::HTTP_SEE_OTHER);
  95.     }
  96.     #[Route('/{id}'name'app_progression_detail_delete'methods: ['POST'])]
  97.     public function delete(Request $requestProgressionDetail $progressionDetailProgressionDetailRepository $progressionDetailRepository): Response
  98.     {
  99.         if ($this->isCsrfTokenValid('delete'.$progressionDetail->getId(), $request->request->get('_token'))) {
  100.             $progressionDetailRepository->remove($progressionDetailtrue);
  101.         }
  102.         return $this->redirectToRoute('app_progression_detail_index', [], Response::HTTP_SEE_OTHER);
  103.     }
  104. }