createForm(BaseEntityAdminForm::class, $entity); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $em->persist($entity); $em->flush(); } return $this->render('AdminPages/AttachmentTypeAdmin.html.twig', [ 'entity' => $entity, 'form' => $form->createView() ]); } /** * @Route("/new", name="attachment_type_new") * * @return \Symfony\Component\HttpFoundation\Response */ public function new(Request $request, EntityManagerInterface $em) { $new_entity = new AttachmentType(); $this->denyAccessUnlessGranted('create', $new_entity); $form = $this->createForm(BaseEntityAdminForm::class, $new_entity); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $em->persist($new_entity); $em->flush(); //$this->addFlash('success', $translator->trans('part.created_flash')); return $this->redirectToRoute('attachment_type_edit', ['id' => $new_entity->getID()]); } return $this->render('AdminPages/AttachmentTypeAdmin.html.twig', [ 'entity' => $new_entity, 'form' => $form->createView() ]); } /** * @Route("/{id}", name="attachment_type_delete", methods={"DELETE"}) */ public function delete(Request $request, AttachmentType $entity) { if ($this->isCsrfTokenValid('delete'.$entity->getId(), $request->request->get('_token'))) { $entityManager = $this->getDoctrine()->getManager(); $parent = $entity->getParent(); //Move all sub entities to the current parent foreach($entity->getSubelements() as $subelement) { $subelement->setParent($parent); $entityManager->persist($subelement); } //Remove current element $entityManager->remove($entity); $entityManager->flush(); $this->addFlash('success', 'attachment_type.deleted'); } return $this->redirectToRoute('attachment_type_new'); } }