src/Controller/CourseController.php line 25

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Course;
  4. use App\Form\CourseType;
  5. use App\Repository\CourseRepository;
  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. use App\Service\Breadcrumbs;
  11. #[Route('/course')]
  12. class CourseController extends AbstractController
  13. {
  14.     private $breadcrumbs;
  15.     public function __construct(Breadcrumbs $breadcrumbs)
  16.     {
  17.         $this->breadcrumbs $breadcrumbs;
  18.     }
  19.     
  20.     #[Route('/'name'app_course_index'methods: ['GET'])]
  21.     public function index(CourseRepository $courseRepository): Response
  22.     {
  23.         return $this->render('course/index.html.twig', [
  24.             'courses' => $courseRepository->findAll(),
  25.         ]);
  26.     }
  27.     #[Route('/new'name'app_course_new'methods: ['GET''POST'])]
  28.     public function new(Request $requestCourseRepository $courseRepository): Response
  29.     {
  30.         $course = new Course();
  31.         $form $this->createForm(CourseType::class, $course);
  32.         $form->handleRequest($request);
  33.         if ($form->isSubmitted() && $form->isValid()) {
  34.             $courseRepository->add($coursetrue);
  35.             return $this->redirectToRoute('app_course_index', [], Response::HTTP_SEE_OTHER);
  36.         }
  37.         return $this->renderForm('course/new.html.twig', [
  38.             'course' => $course,
  39.             'form' => $form,
  40.         ]);
  41.     }
  42.     #[Route('/{id}/edit'name'app_course_edit'methods: ['GET''POST'])]
  43.     public function edit(Request $requestCourse $courseCourseRepository $courseRepository): Response
  44.     {
  45.         $form $this->createForm(CourseType::class, $course);
  46.         $form->handleRequest($request);
  47.         if ($form->isSubmitted() && $form->isValid()) {
  48.             $courseRepository->add($coursetrue);
  49.             return $this->redirectToRoute('app_course_index', [], Response::HTTP_SEE_OTHER);
  50.         }
  51.         return $this->renderForm('course/edit.html.twig', [
  52.             'course' => $course,
  53.             'form' => $form,
  54.             'breadcrumbs' => $this->breadcrumbs->createFor($course)
  55.         ]);
  56.     }
  57.     #[Route('/{id}'name'app_course_delete'methods: ['POST'])]
  58.     public function delete(Request $requestCourse $courseCourseRepository $courseRepository): Response
  59.     {
  60.         if ($this->isCsrfTokenValid('delete'.$course->getId(), $request->request->get('_token'))) {
  61.             $courseRepository->remove($coursetrue);
  62.         }
  63.         return $this->redirectToRoute('app_course_index', [], Response::HTTP_SEE_OTHER);
  64.     }
  65. }