denyAccessUnlessGranted('read', $part); $filename = $part->getMasterPictureFilename(true); return $this->render('Parts/show_part_info.html.twig', [ "part" => $part, "main_image" => $attachmentFilenameService->attachmentPathToAbsolutePath($filename) ] ); } /** * @Route("/part/{id}/edit", name="part_edit") * * @param Part $part * @return \Symfony\Component\HttpFoundation\Response */ public function edit(Part $part, Request $request, EntityManagerInterface $em) { $this->denyAccessUnlessGranted('edit', $part); $form = $this->createForm(PartType::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_part_info.html.twig', [ "part" => $part, "form" => $form->createView(), ]); } /** * @Route("/part/new", name="part_new") * * @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(PartType::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/new_part.html.twig', [ "part" => $new_part, "form" => $form->createView() ]); } /** * @Route("/part/{id}/clone", name="part_clone") * */ 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(PartType::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/new_part.html.twig', [ "part" => $new_part, "form" => $form->createView() ]); } }