src/EventSubscriber/KnpSonataMenu.php line 16

Open in your IDE?
  1. <?php
  2. namespace App\EventSubscriber;
  3. use Sonata\AdminBundle\Event\ConfigureMenuEvent;
  4. use Symfony\Component\Security\Core\Security;
  5. final class KnpSonataMenu
  6. {
  7.     protected $security;
  8.     public function __construct(Security $security)
  9.     {
  10.         $this->security $security;
  11.     }
  12.     public function addMenuItems(ConfigureMenuEvent $event): void
  13.     {
  14.         $menu $event->getMenu();
  15.         
  16.         if(!$this->security->isGranted('ROLE_SUPER_ADMIN')){
  17.             $menu->removeChild('Admin des utilisateurs');
  18.             $menu->removeChild('DonnĂ©es Technique');
  19.             $menu->getChild('Admin des donnĂ©es')
  20.                         ->removeChild('Ville')
  21.                         ->removeChild('Pays')
  22.                         ->removeChild('Type de contrat')
  23.                         ->removeChild('Profil')
  24.                         ->removeChild('Type de personnel');
  25.         }
  26.         
  27.         
  28.     }
  29. }