src/Controller/MymarketController.php line 108

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Categories;
  4. use App\Entity\Mymarket;
  5. use App\Form\MymarketType;
  6. use App\Repository\CategoriesRepository;
  7. use App\Repository\MymarketRepository;
  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("/mymarket")
  14.  */
  15. class MymarketController extends AbstractController
  16. {
  17.     /**
  18.      * @Route("/", name="mymarket_index", methods={"GET"})
  19.      * @param MymarketRepository $mymarketRepository
  20.      * @return Response
  21.      */
  22.     public function index(MymarketRepository $mymarketRepository): Response
  23.     {
  24.         return $this->render('admin/mymarket/index.html.twig', [
  25.             'mymarkets' => $mymarketRepository->findAll(),
  26.         ]);
  27.     }
  28.     /**
  29.      * @Route("/new", name="mymarket_new", methods={"GET","POST"})
  30.      * @param Request $request
  31.      * @return Response
  32.      */
  33.     public function new(Request $request): Response
  34.     {
  35.         $mymarket = new Mymarket();
  36.         $form $this->createForm(MymarketType::class, $mymarket);
  37.         $form->handleRequest($request);
  38.         if ($form->isSubmitted() && $form->isValid()) {
  39.             $file $form->get('image')->getData();
  40.             if($file){
  41.                 $image $this->file($form->get('image')->getData());
  42.                 $name $this->uniqueId().'.'.$image->getFile()->guessExtension();
  43.                 $image->getFile()->move('assets/uploads/mymarket',$name);
  44.                 $mymarket->setImage($name);
  45.             }
  46.             $entityManager $this->getDoctrine()->getManager();
  47.             $entityManager->persist($mymarket);
  48.             $entityManager->flush();
  49.             return $this->redirectToRoute('mymarket_index');
  50.         }
  51.         return $this->render('admin/mymarket/new.html.twig', [
  52.             'mymarket' => $mymarket,
  53.             'form' => $form->createView(),
  54.         ]);
  55.     }
  56.     /**
  57.      * @Route("/hdjsk78{id}857teus/", name="mymarket_show", methods={"GET"})
  58.      * @param Mymarket $mymarket
  59.      * @return Response
  60.      */
  61.     public function show(Mymarket $mymarketMymarketRepository $mymarketRepository): Response
  62.     {
  63.         return $this->render('admin/mymarket/show.html.twig', [
  64.             'mymarket' => $mymarket,
  65.             'mymarkets' => $mymarketRepository->findAll(),
  66.             'categories' => $mymarket->getCategories(),
  67.             'flag' => '0'
  68.         ]);
  69.     }
  70.     /**
  71.      * @Route("/ddjsk857teus/list/", name="mymarket_list", methods={"GET"})
  72.      * @param MymarketRepository $mymarketRepository
  73.      * @return Response
  74.      */
  75.     public function listMarket(MymarketRepository $mymarketRepository): Response
  76.     {
  77.         return $this->render('admin/mymarket/marketsListe.html.twig', [
  78.             'mymarkets' => $mymarketRepository->findAll()
  79.         ]);
  80.     }
  81.     /**
  82.      * @Route("/categories/djsk78{id}857te{category}us", name="mymarket_show_category", methods={"GET"})
  83.      * @param Mymarket $mymarket
  84.      * @param MymarketRepository $mymarketRepository
  85.      * @param CategoriesRepository $categoriesRepository
  86.      * @param $category
  87.      * @return Response
  88.      * @internal param Categories $categories
  89.      * @internal param Mymarket $mymarket
  90.      */
  91.     public function show_category(Mymarket $mymarketMymarketRepository $mymarketRepositoryCategoriesRepository $categoriesRepository$category): Response
  92.     {
  93.         return $this->render('admin/mymarket/show.html.twig', [
  94.             'mymarket' => $mymarket,
  95.             'mymarkets' => $mymarketRepository->findAll(),
  96.             'categories' => $categoriesRepository->findById($category),
  97.             'flag' => '1'
  98.         ]);
  99.     }
  100.     /**
  101.      * @Route("/krih587{id}47oiyheee/edit", name="mymarket_edit", methods={"GET","POST"})
  102.      * @param Request $request
  103.      * @param Mymarket $mymarket
  104.      * @return Response
  105.      */
  106.     public function edit(Request $requestMymarket $mymarket): Response
  107.     {
  108.         $form $this->createForm(MymarketType::class, $mymarket);
  109.         $form->handleRequest($request);
  110.         if ($form->isSubmitted() && $form->isValid()) {
  111.             $file $form->get('image')->getData();
  112.             if($file){
  113.                 $image $this->file($form->get('image')->getData());
  114.                 $name $this->uniqueId().'.'.$image->getFile()->guessExtension();
  115.                 $image->getFile()->move('assets/uploads/mymarket',$name);
  116.                 $mymarket->setImage($name);
  117.             }
  118.             $this->getDoctrine()->getManager()->flush();
  119.             return $this->redirectToRoute('mymarket_index');
  120.         }
  121.         return $this->render('admin/mymarket/edit.html.twig', [
  122.             'mymarket' => $mymarket,
  123.             'form' => $form->createView(),
  124.         ]);
  125.     }
  126.     /**
  127.      * @Route("/kghyt87{id}478jhggt/", name="mymarket_delete", methods={"POST"})
  128.      * @param Request $request
  129.      * @param Mymarket $mymarket
  130.      * @return Response
  131.      */
  132.     public function delete(Request $requestMymarket $mymarket): Response
  133.     {
  134.         if ($this->isCsrfTokenValid('delete'.$mymarket->getId(), $request->request->get('_token'))) {
  135.             $entityManager $this->getDoctrine()->getManager();
  136.             $entityManager->remove($mymarket);
  137.             $entityManager->flush();
  138.         }
  139.         return $this->redirectToRoute('mymarket_index');
  140.     }
  141.     /**
  142.      * Permet de rendre un id unique
  143.      *
  144.      * @return string
  145.      */
  146.     private function uniqueId():string {
  147.         return md5(uniqid());
  148.     }
  149. }