/** * {@inheritdoc} */ public function getWidgets($object) { $result = []; $entityClass = ClassUtils::getClass($object); $entityId = $this->entityIdAccessor->getIdentifier($object); $items = $this->activityManager->getActivityAssociations($entityClass); foreach ($items as $item) { if (empty($item['acl']) || $this->securityFacade->isGranted($item['acl'])) { $url = $this->entityRoutingHelper->generateUrl($item['route'], $entityClass, $entityId); $alias = sprintf('%s_%s_%s', strtolower(ExtendHelper::getShortClassName($item['className'])), dechex(crc32($item['className'])), $item['associationName']); $widget = ['widgetType' => 'block', 'alias' => $alias, 'label' => $this->translator->trans($item['label']), 'url' => $url]; if (isset($item['priority'])) { $widget['priority'] = $item['priority']; } $result[] = $widget; } } return $result; }
public function testGenerateUrl() { $this->urlGenerator->expects($this->once())->method('generate')->with('test_route', [EntityRoutingHelper::PARAM_ENTITY_CLASS => 'Acme_Bundle_TestClass', EntityRoutingHelper::PARAM_ENTITY_ID => '123', 'param1' => 'test'])->will($this->returnValue('test_url')); $this->assertEquals('test_url', $this->entityRoutingHelper->generateUrl('test_route', 'Acme\\Bundle\\TestClass', 123, ['param1' => 'test'])); }