src/Controller/CategoryController.php line 40

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Produit;
  4. use App\Entity\Category;
  5. use App\Form\ProduitType;
  6. use App\Service\FileUploader;
  7. use App\Repository\MenuRepository;
  8. use App\Repository\ProduitRepository;
  9. use App\Controller\CategoryController;
  10. use App\Repository\CategoryRepository;
  11. use App\Repository\SousmenuRepository;
  12. use Doctrine\ORM\EntityManagerInterface;
  13. use Symfony\Component\HttpFoundation\Request;
  14. use Symfony\Component\HttpFoundation\Response;
  15. use Symfony\Component\Routing\Annotation\Route;
  16. use Symfony\Component\Validator\Validator\ValidatorInterface;
  17. use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
  18. #[Route('/category')]
  19. class CategoryController extends AbstractController
  20. {   
  21.     private $em;
  22.     public function __construct(EntityManagerInterface $em)
  23.     {
  24.         $this->em $em;
  25.     }
  26.     
  27.     #[Route('/category'name'app_category_index'methods: ['GET','POST'])]
  28.     public function index(CategoryRepository $categoryRepository,MenuRepository $menuRepository): Response
  29.     {
  30.         return $this->render('category/index.html.twig', [
  31.             'categories' => $categoryRepository->findAll(),
  32.             'menus' => $menuRepository->findAll(),
  33.         ]);
  34.     }
  35.     #[Route('/new'name'app_category_new'methods: ['GET''POST'])]
  36.     public function new(ValidatorInterface $validatorRequest $request,  MenuRepository $menuRepository): Response
  37.     {
  38.         $submit $request->request->get('submit');
  39.         $errors null;
  40.         if ($submit) {
  41.             $menu = new Category();
  42.             $menu->setName($request->request->get('libelle'));
  43.             
  44.             $errors $validator->validate($menu);
  45.             if (count($errors) > 0) {  
  46.                 $errorsString = (string) $errors;
  47.             }else {
  48.                 $this->em->persist($menu);
  49.                 $this->em->flush();
  50.                 return $this->redirectToRoute('app_category_index', [], Response::HTTP_SEE_OTHER);
  51.             }
  52.         }
  53.         return $this->renderForm('category/new.html.twig', [
  54.             'menus' => $menuRepository->findAll(),
  55.             'errors' => $errors,
  56.         ]);
  57.     }
  58.     
  59.     #[Route('category/edit/{id}/'name'app_category_edit'methods: ['GET''POST'])]
  60.     public function edit(FileUploader $fileUploaderValidatorInterface $validatorRequest $requestCategory $categorySousmenuRepository $sousmenuRepository,
  61.      MenuRepository $menuRepository): Response
  62.     {
  63.         $submit $request->request->get('submit');
  64.         /*  $oldphoto = $sousmenu2->getImage();
  65.         $oldvideo = $sousmenu2->getVideo(); */
  66.         $errors null;
  67.         if ($submit) {
  68.             
  69.             $category->setName($request->request->get('libelle'));
  70.             
  71.             $errors $validator->validate($category);
  72.           
  73.             
  74.             if (count($errors) > 0) {  
  75.                 $errorsString = (string) $errors;
  76.             }else {
  77.                 $this->em->persist($category);
  78.                 $this->em->flush();
  79.                 return $this->redirectToRoute('app_category_index', [], Response::HTTP_SEE_OTHER);
  80.             }
  81.         }
  82.         return $this->renderForm('category/edit.html.twig', [
  83.             
  84.             'idCategory'=> $category->getId(),
  85.             'category' => $category,
  86.             'sousmenus' => $sousmenuRepository->findAll(),
  87.             'menus' => $menuRepository->findAll(),
  88.             'errors' => $errors,
  89.         ]);
  90.     }
  91.    /*  #[Route('/{id}', name: 'app_sousmenu2_delete', methods: ['POST'])]
  92.     public function delete(Request $request, Sousmenu2 $sousmenu2, Sousmenu2Repository $sousmenu2Repository): Response
  93.     {
  94.         if ($this->isCsrfTokenValid('delete'.$sousmenu2->getId(), $request->request->get('_token'))) {
  95.             $sousmenu2Repository->remove($sousmenu2, true);
  96.         }
  97.         return $this->redirectToRoute('app_sousmenu2_index', [], Response::HTTP_SEE_OTHER);
  98.     } */
  99.     #[Route('category/supprimer/{id}'name'app_category_delete'methods: ['POST'])]
  100.     public function delete(Request $requestCategory $categoryMenuRepository $menuRepository): Response
  101.     {   
  102.         //dd( $menu);
  103.         if ($this->isCsrfTokenValid('delete'.$category->getId(), $request->request->get('_token'))) {
  104.             $this->em->remove($category);
  105.             $this->em->flush();
  106.         }
  107.         return $this->redirectToRoute('app_category_index', [], Response::HTTP_SEE_OTHER);
  108.     }
  109. }