/** * 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)); }
/** * 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); }
/** * 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; }
/** * 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; }
/** * 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; }
/** * 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))); }
/** * 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); }