/** * Deletes a Parametrage entity. * * @param Request $request * @param Parametrage $parametrage */ public function deleteAction(Request $request, Parametrage $parametrage) { // TODO: Make version appear as "en cours" on delete confirmed $em = $this->getDoctrine()->getManager(); if ($parametrage == null) { throw $this->createNotFoundException("Le réseau " . $parametrage . getId() . " n'existe pas."); } if ($request->isMethod('GET')) { if ($parametrage->getDeleting()) { $currentVersion = $parametrage->getReseau()->getVersions()->last(); $version = new Version(); if (!$currentVersion->getEnCours()) { $version->setEnCours('1'); $version->setNumero($currentVersion->getNumero() + 1); $version->setReseau($parametrage->getReseau()); $parametrage->getReseau()->addVersion($version); } else { $version = $currentVersion; } // On compose à nouveau les liasses qui contienent ce document // TODO: à mettre dans une fonction preUpdate (event doctrine) $ls = $parametrage->getMeElementOfLiasses(); foreach ($ls as $param) { $param->removeMyComponent($parametrage); $parametrage->removeMeElementOfLiasse($param); $pdf = $this->composerLiasse($param); $pdf->setCurrent(1); $param->addPdfSource($pdf); $pdf->setParametrage($param); } $id = $parametrage->getId(); $em->remove($parametrage); $em->flush(); return new JsonResponse(array('id' => $id, 'status' => 'deleted', 'version' => $version->getNumero())); } $parametrage->setDeleting(1); $em->persist($parametrage); $em->flush(); return new JsonResponse(array('id' => $parametrage->getId(), 'status' => 'marked')); } return $this->render('DocBundle:parametrage:show.html.twig', array('parametrage' => $parametrage)); }