function lightning_scheduler_entity_base_field_info in Lightning Workflow 8.2
Same name and namespace in other branches
- 8.3 modules/lightning_scheduler/lightning_scheduler.module \lightning_scheduler_entity_base_field_info()
- 8 modules/lightning_scheduler/lightning_scheduler.module \lightning_scheduler_entity_base_field_info()
Implements hook_entity_base_field_info().
1 call to lightning_scheduler_entity_base_field_info()
- lightning_scheduler_update_8001 in modules/
lightning_scheduler/ lightning_scheduler.install - Installs new base fields.
File
- modules/
lightning_scheduler/ lightning_scheduler.module, line 90
Code
function lightning_scheduler_entity_base_field_info(EntityTypeInterface $entity_type) {
$fields = [];
$moderation_info = Drupal::service('content_moderation.moderation_information');
$migrations = Drupal::service('lightning_scheduler.migrator')
->getMigrations();
if ($moderation_info
->canModerateEntitiesOfEntityType($entity_type)) {
$fields['scheduled_transition_date'] = BaseFieldDefinition::create('datetime')
->setDisplayConfigurable('view', FALSE)
->setDisplayConfigurable('form', FALSE)
->setTranslatable(TRUE)
->setRevisionable(TRUE)
->setCardinality(FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED);
$fields['scheduled_transition_state'] = BaseFieldDefinition::create('string')
->setDisplayConfigurable('view', FALSE)
->setDisplayConfigurable('form', FALSE)
->setTranslatable(TRUE)
->setRevisionable(TRUE)
->setCardinality(FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED);
// If the entity type has not yet been migrated, we need to continue to
// define the base fields from the 1.x version.
if (in_array($entity_type
->id(), $migrations, TRUE)) {
$fields['scheduled_publication'] = BaseFieldDefinition::create('datetime')
->setDisplayConfigurable('view', FALSE)
->setDisplayConfigurable('form', FALSE)
->setTranslatable(TRUE)
->setRevisionable(TRUE);
$fields['scheduled_moderation_state'] = BaseFieldDefinition::create('string')
->setDisplayConfigurable('view', FALSE)
->setDisplayConfigurable('form', FALSE)
->setTranslatable(TRUE)
->setRevisionable(TRUE);
}
}
return $fields;
}