コード例 #1
0
 /**
  * Get Grouped Entities by Activity Entity
  *
  * @param object $entity
  * @param string $widgetId
  * @param array  $filterMetadata
  *
  * @return array
  */
 public function getGroupedEntities($entity, $targetActivityClass, $targetActivityId, $widgetId, $filterMetadata)
 {
     $results = [];
     $entityProvider = $this->chainProvider->getProviderForEntity(ClassUtils::getRealClass($entity));
     if ($this->isGroupingApplicable($entityProvider)) {
         $groupedActivities = $entityProvider->getGroupedEntities($entity);
         $activityResults = $this->getEntityViewModels($groupedActivities, ['class' => $targetActivityClass, 'id' => $targetActivityId]);
         $results = ['entityId' => $entity->getId(), 'ignoreHead' => true, 'widgetId' => $widgetId, 'activityListData' => json_encode(['count' => count($activityResults), 'data' => $activityResults]), 'commentOptions' => ['listTemplate' => '#template-activity-item-comment', 'canCreate' => true], 'activityListOptions' => ['configuration' => $this->chainProvider->getActivityListOption($this->config), 'template' => '#template-activity-list', 'itemTemplate' => '#template-activity-item', 'urls' => [], 'loadingContainerSelector' => '.activity-list.sub-list', 'dateRangeFilterMetadata' => $filterMetadata, 'routes' => [], 'pager' => false]];
     }
     return $results;
 }
コード例 #2
0
 public function testGetActivityListOption()
 {
     $entityConfigProvider = $this->getMockBuilder('Oro\\Bundle\\EntityConfigBundle\\Provider\\ConfigProvider')->disableOriginalConstructor()->getMock();
     $configId = new EntityConfigId('entity', 'Test\\Entity');
     $entityConfig = new Config($configId);
     $userConfig = $this->getMockBuilder('Oro\\Bundle\\ConfigBundle\\Config\\ConfigManager')->disableOriginalConstructor()->getMock();
     $entityConfig->set('icon', 'test_icon');
     $entityConfig->set('label', 'test_label');
     $entityConfigProvider->expects($this->once())->method('getConfig')->willReturn($entityConfig);
     $this->translator->expects($this->once())->method('trans')->with('test_label')->willReturn('test_label');
     $this->routeHelper->expects($this->once())->method('getUrlSafeClassName')->willReturn('Test_Entity');
     $this->configManager->expects($this->once())->method('getProvider')->willReturn($entityConfigProvider);
     $result = $this->provider->getActivityListOption($userConfig);
     $this->assertEquals(['Test_Entity' => ['icon' => 'test_icon', 'label' => 'test_label', 'template' => 'test_template.js.twig', 'routes' => ['delete' => 'test_delete_route'], 'has_comments' => true]], $result);
 }