protected function TransitionManager::getTransitionable in Lightning Workflow 8.2
Same name and namespace in other branches
- 8.3 modules/lightning_scheduler/src/TransitionManager.php \Drupal\lightning_scheduler\TransitionManager::getTransitionable()
Returns all transitionable entities of a given type.
The entity type is assumed to have the scheduled_transition_date field.
Parameters
string $entity_type_id: The entity type ID.
DrupalDateTime $now: The time that processing began.
Return value
\Generator An iterable of the latest revisions of all transitionable entities of the given type.
1 call to TransitionManager::getTransitionable()
- TransitionManager::process in modules/
lightning_scheduler/ src/ TransitionManager.php - Executes all scheduled transitions for a particular entity type.
File
- modules/
lightning_scheduler/ src/ TransitionManager.php, line 231
Class
Namespace
Drupal\lightning_schedulerCode
protected function getTransitionable($entity_type_id, DrupalDateTime $now) {
$storage = $this->entityTypeManager
->getStorage($entity_type_id);
$now = $now
->format(DateTimeItemInterface::DATETIME_STORAGE_FORMAT);
// Entities are transitionable if its latest revision has any transitions
// scheduled now or in the past.
$IDs = $storage
->getQuery()
->latestRevision()
->accessCheck(FALSE)
->condition('scheduled_transition_date.value', $now, '<=')
->execute();
foreach (array_keys($IDs) as $revision_id) {
(yield $storage
->loadRevision($revision_id));
}
}