Skip to content

Commit

Permalink
fix sylius plus RBAC check
Browse files Browse the repository at this point in the history
  • Loading branch information
oallain committed Apr 7, 2023
1 parent bcb90eb commit b90e93b
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 2 deletions.
4 changes: 2 additions & 2 deletions src/Resources/views/AdminBundle/Customer/Show/gdpr.html.twig
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{% if sylius_plus_rbac_has_permission("synolia_sylius_gdpr_admin_anonymize_customer") or
sylius_plus_rbac_has_permission("synolia_sylius_gdpr_admin_export_customer_datas") %}
{% if sylius_plus_rbac_gdpr_has_permission("synolia_sylius_gdpr_admin_anonymize_customer") or
sylius_plus_rbac_gdpr_has_permission("synolia_sylius_gdpr_admin_export_customer_datas") %}
<div class="content row">
<h2>{{ 'sylius.ui.admin.synolia_gdpr.customer.gdpr_title'|trans }}</h2>

Expand Down
30 changes: 30 additions & 0 deletions src/Twig/GdprExtension.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
<?php

declare(strict_types=1);

namespace Synolia\SyliusGDPRPlugin\Twig;

use Twig\Environment;
use Twig\Extension\AbstractExtension;
use Twig\TwigFunction;

final class GdprExtension extends AbstractExtension
{
public function getFunctions()
{
return [
new TwigFunction('sylius_plus_rbac_gdpr_has_permission', [$this, 'hasPermission'], ['needs_environment' => true]),
];
}

public function hasPermission(Environment $env, string $permission): bool
{
$function = $env->getFunction('sylius_plus_rbac_has_permission');

if ($function !== null && is_callable($function->getCallable())) {
return $function->getCallable()($permission);
}

return true;
}
}

0 comments on commit b90e93b

Please sign in to comment.