/** * @param Category $category * @param Request $request * @Route("/category/delete/{id}", name="admin_category_delete", * requirements={ * "id": "\d+" * }) * @Method({"POST"}) * @ParamConverter("category", class="AppBundle:Category") * @Template("AppBundle:admin:messages.html.twig") * @return array|\Symfony\Component\HttpFoundation\RedirectResponse */ public function deleteCategoryAction(Category $category, Request $request) { $countProducts = $category->getProducts()->count(); if ($countProducts > 0) { $message = "Cannot delete category '" . $category->getTitle() . "', because it has " . $countProducts . " products."; } else { $formDelete = $this->createForm(DeleteType::class, null, []); $formDelete->handleRequest($request); if ($formDelete->isValid()) { $em = $this->getDoctrine()->getManager(); $em->remove($category); $em->flush(); } return $this->redirectToRoute('admin_categories'); } return ['message' => $message]; }
/** * {@inheritDoc} */ public function getProducts() { $this->__initializer__ && $this->__initializer__->__invoke($this, 'getProducts', array()); return parent::getProducts(); }