Linux SRV-16 6.18.44-paas #1 SMP PREEMPT_DYNAMIC Thu Aug 13 10:08:12 UTC 2026 x86_64
/
proc
/
212
/
root
/
proc
/
212
/
root
/
proc
/
self
/
root
/
proc
/
70528
/
cwd
/
src
/
Controller
/
back
/
//proc/212/root/proc/212/root/proc/self/root/proc/70528/cwd/src/Controller/back/FoldController.php
<?php namespace App\Controller\back; use App\Entity\Fold; use App\Repository\FoldRepository; use App\Repository\ProductRepository; use Doctrine\Persistence\ManagerRegistry; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Doctrine\DBAL\Exception\ForeignKeyConstraintViolationException; /** * @Route("/admin/product") */ class FoldController extends AbstractController { /** * @Route("/{productId}/fold/add/{name}", name="back_product_fold_create") */ public function index($productId, $name, ProductRepository $productRepository, ManagerRegistry $doctrine): Response { $product = $productRepository->find($productId); $fold = new Fold(); $fold->setName($name); $fold->setProduct($product); $em = $doctrine->getManager(); $em->persist($fold); $em->flush(); return $this->json($fold->getId()); } /** * @Route("/{productId}/fold/{id}/delete", name="back_product_fold_delete") */ public function deleteFold(ProductRepository $productRepository, FoldRepository $foldRepository, $productId, $id, ManagerRegistry $doctrine) { $product = $productRepository->find($productId); $fold = $foldRepository->find($id); try { $em = $doctrine->getManager(); $product->removeFold($fold); $em->persist($product); $em->flush(); } catch (ForeignKeyConstraintViolationException $e) { $doctrine->resetManager(); $em = $doctrine->getManager(); $fold = $foldRepository->find($id); $fold->setActive(false); $em->persist($fold); $em->flush(); return $this->json("Impossible de supprimer le pliage car il est utilisé dans une commande. Elle à été archivée, et ne sera visible que sur les anciennes commandes."); } return $this->json("success"); } }