|
@@ -0,0 +1,49 @@
|
|
|
+<?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 de Entidades', compact('uri'))
|
|
|
+ ->setExtra('translation_domain', 'AuditBundle');
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+}
|