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
/
task
/
212
/
root
/
proc
/
70528
/
cwd
/
src
/
Controller
/
back
/
//proc/212/root/proc/212/task/212/root/proc/70528/cwd/src/Controller/back/FinishingController.php
<?php namespace App\Controller\back; use App\Entity\Finishing; use App\Form\FinishingType; use App\Repository\ProductRepository; use App\Repository\FinishingRepository; use Doctrine\Persistence\ManagerRegistry; use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpFoundation\Response; use Symfony\Component\Routing\Annotation\Route; use Symfony\Bundle\FrameworkBundle\Controller\AbstractController; use Doctrine\DBAL\Exception\ForeignKeyConstraintViolationException; /** * @Route("/admin") */ class FinishingController extends AbstractController { /** * @Route("/product/{id}/finishing/add/{name}", name="back_finishing_create") */ public function createFinishing($id, $name, ProductRepository $productRepository, ManagerRegistry $doctrine) { $product = $productRepository->find($id); $finishing = new Finishing(); $finishing->setName($name); $finishing->setProduct($product); $em = $doctrine->getManager(); $em->persist($finishing); $em->flush(); return $this->json($finishing->getId()); } /** * @Route("/product/finishing/{id}/delete", name="back_finishing_delete") */ public function deleteFinishing($id, FinishingRepository $finishingRepository, ManagerRegistry $doctrine) { $finishing = $finishingRepository->find($id); try { $em = $doctrine->getManager(); $em->remove($finishing); $em->flush(); } catch (ForeignKeyConstraintViolationException $e) { $doctrine->resetManager(); $finishing = $finishingRepository->find($id); $em = $doctrine->getManager(); $finishing->setActive(false); $em->persist($finishing); $em->flush(); return $this->json("Impossible de supprimer la finition car elle est utilisé dans une commande. Elle à été archivée, et ne sera visible que sur les anciennes commandes."); } return $this->json("success"); } }