public function Migrator::migrate in Lightning Workflow 8.2
Same name and namespace in other branches
- 8.3 modules/lightning_scheduler/src/Migrator.php \Drupal\lightning_scheduler\Migrator::migrate()
Migrates a single entity.
Parameters
string $entity_type_id: The entity type ID.
\stdClass $item: The relevant entity information, as returned from query(). This will include the entity ID and values of the scheduled_moderation_state and scheduled_publication fields. Will also include the revision ID and langcode, if the entity type is revisionable and translatable, respectively.
1 call to Migrator::migrate()
- Migrator::migrateAll in modules/
lightning_scheduler/ src/ Migrator.php - Migrates all entities of a specific type.
File
- modules/
lightning_scheduler/ src/ Migrator.php, line 197
Class
- Migrator
- This class is final because the migration is not an API and should not be extended or re-used.
Namespace
Drupal\lightning_schedulerCode
public function migrate($entity_type_id, \stdClass $item) {
$storage = $this->entityTypeManager
->getStorage($entity_type_id);
$entity = $this
->load($storage, $item);
// A horrible hack to work around Content Moderation's opinions being a
// little too strong. See lightning_scheduler_entity_presave().
$entity->existingRevisionId = $entity
->getRevisionId();
$entity
->set('scheduled_transition_date', $item->scheduled_publication)
->set('scheduled_transition_state', $item->scheduled_moderation_state)->original
->set('scheduled_transition_date', NULL)
->set('scheduled_transition_state', NULL);
$storage
->save($entity);
}