/** * 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); }
/** * @param array $options * * @return bool */ protected function isApplicable(array $options) { if ($options['contexts_disabled'] || empty($options['data_class'])) { return false; } $className = $options['data_class']; if (!$this->doctrineHelper->isManageableEntity($className)) { return false; } $activities = $this->activityManager->getActivityTypes(); return in_array($className, $activities, true); }
/** * Returns the list of FQCN of all activity entities * * @return string[] */ public function getActivityTypes() { return array_map(function ($class) { return ['entity' => $class]; }, $this->activityManager->getActivityTypes()); }