denyAccessUnlessGranted('read', $part); return $this->render('Parts/info/show_part_info.html.twig', [ 'part' => $part, 'attachment_helper' => $attachmentHelper ] ); } /** * @Route("/part/{id}/edit", name="part_edit") * * @param Part $part * * @param Request $request * @param EntityManagerInterface $em * @return \Symfony\Component\HttpFoundation\Response */ public function edit(Part $part, Request $request, EntityManagerInterface $em) { $this->denyAccessUnlessGranted('edit', $part); $form = $this->createForm(PartBaseType::class, $part); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $em->persist($part); $em->flush(); $this->addFlash('info', 'part.edited_flash'); } return $this->render('Parts/edit/edit_part_info.html.twig', [ 'part' => $part, 'form' => $form->createView(), ]); } /** * @Route("/part/new", name="part_new") * * @param Request $request * @param EntityManagerInterface $em * @param TranslatorInterface $translator * @return \Symfony\Component\HttpFoundation\Response */ public function new(Request $request, EntityManagerInterface $em, TranslatorInterface $translator) { $new_part = new Part(); $this->denyAccessUnlessGranted('create', $new_part); $cid = $request->get('cid', 1); $category = $em->find(Category::class, $cid); $new_part->setCategory($category); $form = $this->createForm(PartBaseType::class, $new_part); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $em->persist($new_part); $em->flush(); $this->addFlash('success', $translator->trans('part.created_flash')); return $this->redirectToRoute('part_edit', ['id' => $new_part->getID()]); } return $this->render('Parts/edit/new_part.html.twig', [ 'part' => $new_part, 'form' => $form->createView(), ]); } /** * @Route("/part/{id}/clone", name="part_clone") * @param Part $part * @param Request $request * @param EntityManagerInterface $em * @param TranslatorInterface $translator * @return \Symfony\Component\HttpFoundation\RedirectResponse|\Symfony\Component\HttpFoundation\Response */ public function clone(Part $part, Request $request, EntityManagerInterface $em, TranslatorInterface $translator) { /** @var Part $new_part */ $new_part = clone $part; $this->denyAccessUnlessGranted('create', $new_part); $form = $this->createForm(PartBaseType::class, $new_part); $form->handleRequest($request); if ($form->isSubmitted() && $form->isValid()) { $em->persist($new_part); $em->flush(); $this->addFlash('success', $translator->trans('part.created_flash')); return $this->redirectToRoute('part_edit', ['id' => $new_part->getID()]); } return $this->render('Parts/edit/new_part.html.twig', [ 'part' => $new_part, 'form' => $form->createView(), ]); } }