Mercurial > hg > isophonics-drupal-site
diff core/lib/Drupal/Core/Entity/EntityFieldManager.php @ 14:1fec387a4317
Update Drupal core to 8.5.2 via Composer
author | Chris Cannam |
---|---|
date | Mon, 23 Apr 2018 09:46:53 +0100 |
parents | 7a779792577d |
children | 129ea1e6d783 |
line wrap: on
line diff
--- a/core/lib/Drupal/Core/Entity/EntityFieldManager.php Mon Apr 23 09:33:26 2018 +0100 +++ b/core/lib/Drupal/Core/Entity/EntityFieldManager.php Mon Apr 23 09:46:53 2018 +0100 @@ -190,8 +190,10 @@ * flagged as translatable. */ protected function buildBaseFieldDefinitions($entity_type_id) { + /** @var \Drupal\Core\Entity\ContentEntityTypeInterface $entity_type */ $entity_type = $this->entityTypeManager->getDefinition($entity_type_id); $class = $entity_type->getClass(); + /** @var string[] $keys */ $keys = array_filter($entity_type->getKeys()); // Fail with an exception for non-fieldable entity types. @@ -221,6 +223,21 @@ } // Make sure that revisionable entity types are correctly defined. + if ($entity_type->isRevisionable()) { + // Disable the BC layer to prevent a recursion, this only needs the + // revision_default key that is always set. + $field_name = $entity_type->getRevisionMetadataKeys(FALSE)['revision_default']; + $base_field_definitions[$field_name] = BaseFieldDefinition::create('boolean') + ->setLabel($this->t('Default revision')) + ->setDescription($this->t('A flag indicating whether this was a default revision when it was saved.')) + ->setStorageRequired(TRUE) + ->setInternal(TRUE) + ->setTranslatable(FALSE) + ->setRevisionable(TRUE); + } + + // Make sure that revisionable and translatable entity types are correctly + // defined. if ($entity_type->isRevisionable() && $entity_type->isTranslatable()) { // The 'revision_translation_affected' field should always be defined. // This field has been added unconditionally in Drupal 8.4.0 and it is