12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- <?php
- namespace AuditBundle\EventListener;
- use Base\AdminBundle\EventListener\SidebarMenuListener;
- use Sonata\AdminBundle\Event\ConfigureMenuEvent;
- use Symfony\Component\DependencyInjection\ContainerInterface;
- class AuditMenuListener extends SidebarMenuListener
- {
- /**
- * @var bool
- */
- private $audit_show_menu = false;
- /**
- * @var string
- */
- private $urlAudit;
- /**
- * @param ContainerInterface $serviceContainer
- */
- public function __construct(ContainerInterface $serviceContainer)
- {
- $ROLE_SUPER_ADMIN = $serviceContainer->get('security.authorization_checker')
- ->isGranted('ROLE_SUPER_ADMIN');
- if ($serviceContainer->hasParameter('audit_show_menu') && $ROLE_SUPER_ADMIN) {
- $this->audit_show_menu = $serviceContainer->getParameter('audit_show_menu');
- }
- $this->urlAudit = $serviceContainer->get('router')->generate('entity_audit');
- }
- /**
- * @param ConfigureMenuEvent $event
- */
- public function addMenuItems(ConfigureMenuEvent $event)
- {
- if ($this->audit_show_menu) {
- $menu = $event->getMenu();
- $uri = $this->urlAudit;
- $menu->addChild('Auditoría', compact('uri'))
- ->setExtra('translation_domain', 'AuditBundle');
- }
- }
- }
|