src/Controller/ModuleController.php line 21

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Module;
  4. use App\Form\ModuleType;
  5. use App\Repository\CycleRepository;
  6. use App\Repository\ModuleRepository;
  7. use App\Repository\UserRepository;
  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. use Symfony\Component\HttpFoundation\JsonResponse;
  13. #[Route('/module')]
  14. class ModuleController extends AbstractController
  15. {
  16.     #[Route('/'name'app_module_index'methods: ['GET'])]
  17.     public function index(ModuleRepository $moduleRepository): Response
  18.     {
  19.         $id $this->get('security.token_storage')->getToken()->getUser()->getId();
  20.         $role=$this->get('security.token_storage')->getToken()->getUser()->getRoles();
  21.         if($role[0]=="ROLE_TEACHER"){
  22.             $modules=$moduleRepository->moduleByformateur($id);
  23.         }else{
  24.            $modules=$moduleRepository->findAll();
  25.         }
  26.         return $this->render('module/index.html.twig', [
  27.             'modules' => $modules,
  28.         ]);
  29.     }
  30.     #[Route('/new'name'app_module_new'methods: ['GET''POST'])]
  31.     public function new(Request $requestModuleRepository $moduleRepository,CycleRepository $cycleRepository,UserRepository $userRepository): Response
  32.     {
  33.         $module = new Module();
  34.         $form $this->createForm(ModuleType::class, $module);
  35.         $form->handleRequest($request);
  36.         if ($form->isSubmitted() && $form->isValid()) {
  37.             $moduleRepository->save($moduletrue);
  38.             return $this->redirectToRoute('app_module_index', [], Response::HTTP_SEE_OTHER);
  39.         }
  40.         return $this->renderForm('module/new.html.twig', [
  41.             'module' => $module,
  42.             'form' => $form,
  43.         ]);
  44.     }
  45.     #[Route('/{id}'name'app_module_show'methods: ['GET'])]
  46.     public function show(Module $module): Response
  47.     {
  48.         return $this->render('module/show.html.twig', [
  49.             'module' => $module,
  50.         ]);
  51.     }
  52.     #[Route('/{id}/edit'name'app_module_edit'methods: ['GET''POST'])]
  53.     public function edit(Request $requestModule $moduleModuleRepository $moduleRepository,CycleRepository $cycleRepository): Response
  54.     {
  55.         $form $this->createForm(ModuleType::class, $module);
  56.         $form->handleRequest($request);
  57.         if ($form->isSubmitted() && $form->isValid()) {
  58.             $moduleRepository->save($moduletrue);
  59.             return $this->redirectToRoute('app_module_index', [], Response::HTTP_SEE_OTHER);
  60.         }
  61.         return $this->renderForm('module/edit.html.twig', [
  62.             'module' => $module,
  63.             'form' => $form,
  64.         ]);
  65.     }
  66.     #[Route('/{id}'name'app_module_delete'methods: ['POST'])]
  67.     public function delete(Request $requestModule $moduleModuleRepository $moduleRepository): Response
  68.     {
  69.         if ($this->isCsrfTokenValid('delete'.$module->getId(), $request->request->get('_token'))) {
  70.             $moduleRepository->remove($moduletrue);
  71.         }
  72.         return $this->redirectToRoute('app_module_index', [], Response::HTTP_SEE_OTHER);
  73.     }
  74. }