Example #1
0
 /**
  * @param object      $object
  * @param string|null $action
  *
  * @return array
  */
 public function getActionParams($object, $action = null)
 {
     if (!is_object($object)) {
         return [];
     }
     return $this->entityRoutingHelper->getRouteParameters($this->getClassName($object, true), $this->entityIdAccessor->getIdentifier($object), $action);
 }
 public function testGetIdentifier()
 {
     $doctrineHelper = $this->getMockBuilder('Oro\\Bundle\\EntityBundle\\ORM\\DoctrineHelper')->disableOriginalConstructor()->getMock();
     $accessor = new EntityIdAccessor($doctrineHelper);
     $entity = new TestEntity();
     $entityId = 123;
     $doctrineHelper->expects($this->once())->method('getSingleEntityIdentifier')->with($this->identicalTo($entity))->will($this->returnValue($entityId));
     $this->assertEquals($entityId, $accessor->getIdentifier($entity));
 }
 /**
  * {@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;
 }