Linux SRV-16 6.18.44-paas #1 SMP PREEMPT_DYNAMIC Thu Aug 13 10:08:12 UTC 2026 x86_64
/
srv
/
data
/
web
/
vhosts
/
www.humitest.fr
/
htdocs
/
src
/
Controller
/
back
/
/srv/data/web/vhosts/www.humitest.fr/htdocs/src/Controller/back/DiscountController.php
<?php namespace App\Controller\back; use App\Entity\Product; use App\Entity\Command; use App\Entity\PriceDiscount; use App\Entity\CategoryDiscount; use App\Form\PriceDiscountType; use App\Repository\PriceDiscountRepository; use App\Repository\CommandRepository; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; /** * @Route("/admin/discount") */ class DiscountController extends AbstractController { /** * @Route("/{id}", name="admin_discount_search", methods="GET") */ public function search(Product $product, PriceDiscountRepository $priceDiscountRepository, CommandRepository $commandRepository): Response { $discounts = $priceDiscountRepository->findBy(['product'=> $product]); return $this->render('back/discountPrice/search.html.twig', [ 'discounts' => $discounts, 'product' => $product, 'slug'=>'admin_discount', 'totalNouveauProduit' => $commandRepository->totalNewProduct() ]); } /** * @Route("/create/{id}", name="admin_discount_create", methods="GET|POST") */ public function create(Product $product,Request $request,CommandRepository $commandRepository, PriceDiscountRepository $priceDiscountRepository): Response { $priceDiscount = new PriceDiscount(); $form = $this->createForm(PriceDiscountType::class, $priceDiscount, ['isCreate' => true]); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $isExist = $priceDiscountRepository->findOneBy(['product' => $product, 'categoryDiscount'=> $priceDiscount->getCategoryDiscount() ]); if($isExist != null){ $this->addFlash("danger", "Ce produit a déjà un prix remise de cette catégorie !"); return $this->redirectToRoute('admin_discount_search', [ 'id' => $product->getId() ]); } $em = $this->getDoctrine()->getManager(); $priceDiscount->setProduct($product); $em->persist($priceDiscount); $em->flush(); return $this->redirectToRoute('admin_discount_search', [ 'id' => $product->getId() ]); } return $this->render('back/discountPrice/create.html.twig', [ 'priceDiscount' => $priceDiscount, 'product' => $product, 'form' => $form->createView(), 'slug'=>'admin_discount', 'totalNouveauProduit' => $commandRepository->totalNewProduct(), ]); } /** * @Route("/update/{id}", name="admin_discount_update", methods="GET|POST") */ public function update(PriceDiscount $priceDiscount, Request $request, CommandRepository $commandRepository): Response { $form = $this->createForm(PriceDiscountType::class, $priceDiscount ); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $em = $this->getDoctrine()->getManager(); $priceDiscount->setUpdatedAt(new \DateTime()); $em->persist($priceDiscount); $em->flush(); $this->addFlash('success', "Modifié avec succès !"); return $this->redirectToRoute('admin_discount_search', [ 'id' => $priceDiscount->getProduct()->getId() ]); } return $this->render('back/discountPrice/update.html.twig', [ 'priceDiscount' => $priceDiscount, 'product' => $priceDiscount->getProduct(), 'form' => $form->createView(), 'slug'=>'admin_discount', 'totalNouveauProduit' => $commandRepository->totalNewProduct(), ]); } /** * @Route("/delete/{id}", name="admin_discount_delete", methods="DELETE") */ public function delete(Request $request, PriceDiscount $priceDiscount): Response { $product = $priceDiscount->getProduct(); $msg = 'Enregistrement supprimé avec succès'; $em = $this->getDoctrine()->getManager(); $em->remove($priceDiscount); $em->flush(); $this->addFlash('success', $msg); $this->addFlash('success', "Supprimé avec succès !"); return $this->redirectToRoute('admin_discount_search', [ 'id' => $priceDiscount->getProduct()->getId() ]); } }