コード例 #1
0
 /**
  * Get search aliases for specified entity class(es). By default returns all associated entities.
  *
  * @param string[] $entities
  *
  * @return string[]
  */
 protected function getSearchAliases(array $entities)
 {
     if (empty($entities)) {
         $entities = array_flip($this->activityManager->getActivityTargets($this->class));
     }
     return array_values($this->searchIndexer->getEntityAliases($entities));
 }
コード例 #2
0
 /**
  * Returns the list of FQCN of all activity entities which can be associated with the current entity
  *
  * @return string[]
  */
 public function getActivityTypes()
 {
     $activityClasses = [];
     foreach ($this->activityManager->getActivityTypes() as $activityClass) {
         $targets = $this->activityManager->getActivityTargets($activityClass);
         if (isset($targets[$this->class])) {
             $activityClasses[] = $activityClass;
         }
     }
     return array_map(function ($class) {
         return ['entity' => $class];
     }, $activityClasses);
 }
コード例 #3
0
 /**
  * Get search aliases for specified entity class(es). By default returns all search aliases
  * for all entities which can be associated with an activity this manager id work with.
  *
  * @param string[] $entities
  *
  * @return string[]
  */
 protected function getSearchAliases(array $entities)
 {
     if (empty($entities)) {
         $entities = array_flip($this->activityManager->getActivityTargets($this->class));
     }
     $aliases = [];
     foreach ($entities as $targetEntityClass) {
         $alias = $this->searchIndexer->getEntityAlias($targetEntityClass);
         if (null !== $alias) {
             $aliases[] = $alias;
         }
     }
     return $aliases;
 }
コード例 #4
0
 /**
  * Get search aliases for all entities which can be associated with specified activity.
  *
  * @return string[]
  */
 protected function getSearchAliases()
 {
     $class = $this->entityClassNameHelper->resolveEntityClass($this->class, true);
     $aliases = [];
     foreach ($this->activityManager->getActivityTargets($class) as $targetEntityClass => $fieldName) {
         $alias = $this->indexer->getEntityAlias($targetEntityClass);
         if (null !== $alias) {
             $aliases[] = $alias;
         }
     }
     return $aliases;
 }
コード例 #5
0
 /**
  * Get search aliases for all entities which can be associated with specified activity.
  *
  * @return string[]
  */
 protected function getSearchAliases()
 {
     $class = $this->entityClassNameHelper->resolveEntityClass($this->class, true);
     $aliases = [];
     $targetEntityClasses = array_keys($this->activityManager->getActivityTargets($class));
     foreach ($targetEntityClasses as $targetEntityClass) {
         $alias = $this->indexer->getEntityAlias($targetEntityClass);
         if (null !== $alias) {
             $aliases[] = $alias;
         }
     }
     /** dispatch oro_activity.search_aliases event */
     $event = new SearchAliasesEvent($aliases, $targetEntityClasses);
     $this->dispatcher->dispatch(SearchAliasesEvent::EVENT_NAME, $event);
     $aliases = $event->getAliases();
     return $aliases;
 }
コード例 #6
0
 /**
  * Returns the list of FQCN of all activity entities
  *
  * @return string[]
  */
 public function getActivityTargetTypes()
 {
     return array_map(function ($class) {
         return ['entity' => $class];
     }, array_keys($this->activityManager->getActivityTargets($this->class)));
 }
コード例 #7
0
 /**
  * Get search aliases for specified entity class(es). By default returns all associated entities.
  *
  * @param string[] $from
  *
  * @return array
  */
 protected function getSearchAliases(array $from)
 {
     $entities = empty($from) ? $this->activityManager->getActivityTargets($this->class) : array_flip($from);
     $aliases = array_intersect_key($this->searchIndexer->getEntitiesListAliases(), $entities);
     return array_values($aliases);
 }