/** * @param BeforeGroupingChainWidgetEvent $event */ public function isAllowedButton(BeforeGroupingChainWidgetEvent $event) { $entity = $event->getEntity(); $pageType = $event->getPageType(); if ($pageType === null || !is_object($entity) || !$this->isAllowedOnPage($entity, $pageType)) { // Clear allowed widgets $event->setWidgets([]); } }
/** * @param BeforeGroupingChainWidgetEvent $event */ public function isAllowedButton(BeforeGroupingChainWidgetEvent $event) { if ($this->isFrontendRoute()) { // Clear allowed widgets $event->setWidgets([]); $event->stopPropagation(); } else { $this->filter->isAllowedButton($event); } }
public function testEvent() { $pageType = 1; $widgets = ['some' => 'data']; $object = new \stdClass(); $event = new BeforeGroupingChainWidgetEvent($pageType, $widgets, $object); $this->assertEquals($pageType, $event->getPageType()); $this->assertEquals($widgets, $event->getWidgets()); $this->assertEquals($object, $event->getEntity()); $newWidgets = ['new' => 'widgets']; $event->setWidgets($newWidgets); $this->assertEquals($newWidgets, $event->getWidgets()); }
/** * @param BeforeGroupingChainWidgetEvent $event */ public function isAllowedButton(BeforeGroupingChainWidgetEvent $event) { $entity = $event->getEntity(); $pageType = $event->getPageType(); if ($pageType === null || !is_object($entity) || !$this->configManager->hasConfig($this->doctrineHelper->getEntityClass($entity)) || !$this->isAllowedOnPage($this->doctrineHelper->getEntityClass($entity), $pageType)) { // Clear allowed widgets $event->setWidgets([]); } }