Added permission to control who can access label scanner.

This commit is contained in:
Jan Böhmer 2020-05-08 12:50:44 +02:00
parent 1f48247474
commit 9a9cd8e887
4 changed files with 18 additions and 9 deletions

View file

@ -291,6 +291,9 @@ perms: # Here comes a list with all Permission names (they have a perm_[name] co
timetravel: timetravel:
label: "perm.tools.timeTravel" label: "perm.tools.timeTravel"
bit: 14 bit: 14
label_scanner:
label: "perm.tools.label_scanner"
bit: 16
groups: groups:
label: "perm.groups" label: "perm.groups"

View file

@ -51,6 +51,8 @@ class ScanController extends AbstractController
*/ */
public function dialog(Request $request): Response public function dialog(Request $request): Response
{ {
$this->denyAccessUnlessGranted('@tools.label_scanner');
$form = $this->createForm(ScanDialogType::class); $form = $this->createForm(ScanDialogType::class);
$form->handleRequest($request); $form->handleRequest($request);

View file

@ -125,10 +125,12 @@ class ToolsTreeBuilder
); );
} }
if ($this->security->isGranted('@tools.label_scanner')) {
$nodes[] = new TreeViewNode( $nodes[] = new TreeViewNode(
$this->translator->trans('tree.tools.tools.label_scanner'), $this->translator->trans('tree.tools.tools.label_scanner'),
$this->urlGenerator->generate('scan_dialog') $this->urlGenerator->generate('scan_dialog')
); );
}
return $nodes; return $nodes;
} }

View file

@ -17,9 +17,11 @@
<div class="collapse navbar-collapse" id="navbarContent"> <div class="collapse navbar-collapse" id="navbarContent">
<ul class="navbar-nav mr-auto"> <ul class="navbar-nav mr-auto">
{% if is_granted("@tools.label_scanner") %}
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="{{ url("scan_dialog") }}">{% trans %}navbar.scanner.link{% endtrans %}</a> <a class="nav-link" href="{{ url("scan_dialog") }}">{% trans %}navbar.scanner.link{% endtrans %}</a>
</li> </li>
{% endif %}
</ul> </ul>
<div class="form-inline my-2 my-lg-0 ml-auto" id="searchbar"> <div class="form-inline my-2 my-lg-0 ml-auto" id="searchbar">