diff --git a/src/Controller/FootprintController.php b/src/Controller/FootprintController.php new file mode 100644 index 00000000..7d742592 --- /dev/null +++ b/src/Controller/FootprintController.php @@ -0,0 +1,110 @@ +_edit($entity, $request, $em); + } + + /** + * @Route("/new", name="footprint_new") + * @Route("/") + * + * @return \Symfony\Component\HttpFoundation\Response + */ + public function new(Request $request, EntityManagerInterface $em, EntityImporter $importer) + { + return $this->_new($request, $em, $importer); + } + + /** + * @Route("/{id}", name="footprint_delete", methods={"DELETE"}) + */ + public function delete(Request $request, Footprint $entity, StructuralElementRecursionHelper $recursionHelper) + { + return $this->_delete($request, $entity, $recursionHelper); + } + + /** + * @Route("/export", name="footprint_export_all") + * @param Request $request + * @param SerializerInterface $serializer + * @param EntityManagerInterface $em + * @return Response + */ + public function exportAll(EntityManagerInterface $em, EntityExporter $exporter, Request $request) + { + return $this->_exportAll($em, $exporter, $request); + } + + /** + * @Route("/{id}/export", name="footprint_export") + * @param Request $request + * @param AttachmentType $entity + */ + public function exportEntity(AttachmentType $entity, EntityExporter $exporter, Request $request) + { + return $this->_exportEntity($entity, $exporter, $request); + } + +} \ No newline at end of file diff --git a/src/Services/EntityURLGenerator.php b/src/Services/EntityURLGenerator.php index bc1b8f56..ef2bbebf 100644 --- a/src/Services/EntityURLGenerator.php +++ b/src/Services/EntityURLGenerator.php @@ -32,6 +32,7 @@ namespace App\Services; use App\Entity\AttachmentType; use App\Entity\Category; use App\Entity\Device; +use App\Entity\Footprint; use App\Entity\Manufacturer; use App\Entity\NamedDBElement; use App\Entity\Part; @@ -139,6 +140,10 @@ class EntityURLGenerator return $this->urlGenerator->generate("store_location_edit", ['id' => $entity->getID()]); } + if ($entity instanceof Footprint) { + return $this->urlGenerator->generate("footprint_edit", ['id' => $entity->getID()]); + } + //Otherwise throw an error throw new EntityNotSupported('The given entity is not supported yet!'); } @@ -180,6 +185,10 @@ class EntityURLGenerator return $this->urlGenerator->generate('store_location_new'); } + if ($entity instanceof Footprint) { + return $this->urlGenerator->generate('footprint_new'); + } + throw new EntityNotSupported('The given entity is not supported yet!'); } @@ -242,6 +251,10 @@ class EntityURLGenerator return $this->urlGenerator->generate('store_location_new', ['id' => $entity->getID()]); } + if ($entity instanceof Footprint) { + return $this->urlGenerator->generate('footprint_new', ['id' => $entity->getID()]); + } + throw new EntityNotSupported('The given entity is not supported yet!'); } diff --git a/src/Services/ToolsTreeBuilder.php b/src/Services/ToolsTreeBuilder.php index 91875449..a3b042ba 100644 --- a/src/Services/ToolsTreeBuilder.php +++ b/src/Services/ToolsTreeBuilder.php @@ -73,6 +73,9 @@ class ToolsTreeBuilder $nodes[] = new TreeViewNode($this->translator->trans('tree.tools.edit.storelocation'), $this->urlGenerator->generate('store_location_new')); + $nodes[] = new TreeViewNode($this->translator->trans('tree.tools.edit.footprint'), + $this->urlGenerator->generate('footprint_new')); + $nodes[] = new TreeViewNode($this->translator->trans('tree.tools.edit.part'), $this->urlGenerator->generate('part_new')); diff --git a/templates/AdminPages/FootprintAdmin.html.twig b/templates/AdminPages/FootprintAdmin.html.twig new file mode 100644 index 00000000..0b26a775 --- /dev/null +++ b/templates/AdminPages/FootprintAdmin.html.twig @@ -0,0 +1,5 @@ +{% extends "AdminPages/EntityAdminBase.html.twig" %} + +{% block card_title %} + {% trans %}footprint.labelp{% endtrans %} +{% endblock %} \ No newline at end of file