src/Controller/AdminUrlController.php line 19

Open in your IDE?
  1. <?php
  2. namespace App\Controller;
  3. use App\Entity\Url;
  4. use App\Form\UrlProduitType;
  5. use App\Repository\ProduitRepository;
  6. use App\Repository\UrlRepository;
  7. use App\Repository\VendeurRepository;
  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. #[Route('/admin/url')]
  13. class AdminUrlController extends AbstractController
  14. {
  15.     #[Route('/'name'app_admin_url_index'methods: ['GET'])]
  16.     public function index(UrlRepository $urlRepository): Response
  17.     {
  18.         return $this->render('admin_url/index.html.twig', [
  19.             'urls' => $urlRepository->findBy(
  20.                 [],["erreur" => "DESC""dateTimeMaj"=>"DESC"], null
  21.             ),
  22.         ]);
  23.     }
  24.     #[Route('/new'name'app_admin_url_new'methods: ['GET''POST'])]
  25.     #[Route('/new/idProduit-{idProduit}/idVendeur-{idVendeur}'name'app_admin_url_new_id_produit_id_vendeur'methods: ['GET''POST'])]
  26.     public function new(Request $requestUrlRepository $urlRepositoryProduitRepository $produitRepositoryVendeurRepository $vendeurRepository, ?Url $url$idProduit null$idVendeur null): Response
  27.     {
  28.         $url = new Url();
  29.         if(isset($idProduit)){
  30.             $url->setProduit($produitRepository->find($idProduit));
  31.         }
  32.         if(isset($idVendeur)){
  33.             $url->setVendeur($vendeurRepository->find($idVendeur));
  34.         }
  35.         $form $this->createForm(UrlProduitType::class, $url);
  36.         $form->handleRequest($request);
  37.         if ($form->isSubmitted() && $form->isValid()) {
  38.             $url->setDateTimeMaj(new \DateTime('now'));
  39.             $urlRepository->save($urltrue);
  40.             return $this->redirectToRoute('app_admin_url_index', [], Response::HTTP_SEE_OTHER);
  41.         }
  42.         return $this->renderForm('admin_url/new.html.twig', [
  43.             'url' => $url,
  44.             'form' => $form,
  45.         ]);
  46.     }
  47.     #[Route('/{id}'name'app_admin_url_show'methods: ['GET'])]
  48.     public function show(Url $url): Response
  49.     {
  50.         return $this->render('admin_url/show.html.twig', [
  51.             'url' => $url,
  52.         ]);
  53.     }
  54.     #[Route('/{id}/edit'name'app_admin_url_edit'methods: ['GET''POST'])]
  55.     public function edit(Request $requestUrl $urlUrlRepository $urlRepository): Response
  56.     {
  57.         $form $this->createForm(UrlProduitType::class, $url);
  58.         $form->handleRequest($request);
  59.         if ($form->isSubmitted() && $form->isValid()) {
  60.             $urlRepository->save($urltrue);
  61.             return $this->redirectToRoute('app_admin_url_index', [], Response::HTTP_SEE_OTHER);
  62.         }
  63.         return $this->renderForm('admin_url/edit.html.twig', [
  64.             'url' => $url,
  65.             'form' => $form,
  66.         ]);
  67.     }
  68.     #[Route('/{id}'name'app_admin_url_delete'methods: ['POST'])]
  69.     public function delete(Request $requestUrl $urlUrlRepository $urlRepository): Response
  70.     {
  71.         if ($this->isCsrfTokenValid('delete'.$url->getId(), $request->request->get('_token'))) {
  72.             $urlRepository->remove($urltrue);
  73.         }
  74.         return $this->redirectToRoute('app_admin_url_index', [], Response::HTTP_SEE_OTHER);
  75.     }
  76. }