From 9ac8098f15cfe3afde774e44a21d664cd175e4f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20B=C3=B6hmer?= Date: Mon, 13 Mar 2023 22:02:55 +0100 Subject: [PATCH] Deny access to part import tool without permission and added to tools menu --- src/Controller/PartImportExportController.php | 2 ++ src/Services/Trees/ToolsTreeBuilder.php | 6 ++++++ 2 files changed, 8 insertions(+) diff --git a/src/Controller/PartImportExportController.php b/src/Controller/PartImportExportController.php index c2eae0a9..dc7cc782 100644 --- a/src/Controller/PartImportExportController.php +++ b/src/Controller/PartImportExportController.php @@ -56,6 +56,8 @@ class PartImportExportController extends AbstractController */ public function importParts(Request $request): Response { + $this->denyAccessUnlessGranted('@parts.import'); + $import_form = $this->createForm(ImportType::class, ['entity_class' => Part::class]); $import_form->handleRequest($request); diff --git a/src/Services/Trees/ToolsTreeBuilder.php b/src/Services/Trees/ToolsTreeBuilder.php index 38018c6e..841c2bd4 100644 --- a/src/Services/Trees/ToolsTreeBuilder.php +++ b/src/Services/Trees/ToolsTreeBuilder.php @@ -143,6 +143,12 @@ class ToolsTreeBuilder $this->urlGenerator->generate('tools_ic_logos') ))->setIcon('fa-treeview fa-fw fa-solid fa-flag'); } + if ($this->security->isGranted('@parts.import')) { + $nodes[] = (new TreeViewNode( + $this->translator->trans('parts.import.title'), + $this->urlGenerator->generate('parts_import') + ))->setIcon('fa-treeview fa-fw fa-solid fa-file-import'); + } return $nodes; }