diff --git a/core/modules/entity/lib/Drupal/entity/EntityDisplayBase.php b/core/modules/entity/lib/Drupal/entity/EntityDisplayBase.php index 4b25e76..68ded9a 100644 --- a/core/modules/entity/lib/Drupal/entity/EntityDisplayBase.php +++ b/core/modules/entity/lib/Drupal/entity/EntityDisplayBase.php @@ -161,6 +161,10 @@ public function calculateDependencies() { $bundle_entity = \Drupal::entityManager()->getStorage($bundle_entity_type_id)->load($this->bundle); $this->addDependency('entity', $bundle_entity->getConfigDependencyName()); } + else { + // Depend on the provider of the entity type. + $this->addDependency('module', $target_entity_type->getProvider()); + } // Create dependencies on both hidden and visible fields. $fields = $this->content + $this->hidden; foreach ($fields as $field_name => $component) { diff --git a/core/modules/entity/lib/Drupal/entity/Tests/EntityDisplayTest.php b/core/modules/entity/lib/Drupal/entity/Tests/EntityDisplayTest.php index 6bda3f2..77745f2 100644 --- a/core/modules/entity/lib/Drupal/entity/Tests/EntityDisplayTest.php +++ b/core/modules/entity/lib/Drupal/entity/Tests/EntityDisplayTest.php @@ -88,7 +88,7 @@ public function testEntityDisplayCRUD() { $new_display->save(); $new_display = entity_load('entity_view_display', $new_display->id()); $dependencies = $new_display->calculateDependencies(); - $this->assertEqual(array('entity' => array('entity.view_mode.entity_test.other_view_mode')), $dependencies); + $this->assertEqual(array('entity' => array('entity.view_mode.entity_test.other_view_mode'), 'module' => array('entity_test')), $dependencies); $this->assertEqual($new_display->targetEntityType, $display->targetEntityType); $this->assertEqual($new_display->bundle, $display->bundle); $this->assertEqual($new_display->mode, 'other_view_mode'); @@ -201,7 +201,7 @@ public function testFieldComponent() { // Check that the display has dependencies on the field and the module that // provides the formatter. $dependencies = $display->calculateDependencies(); - $this->assertEqual(array('entity' => array('field.instance.entity_test.entity_test.test_field'), 'module' => array('field_test')), $dependencies); + $this->assertEqual(array('entity' => array('field.instance.entity_test.entity_test.test_field'), 'module' => array('entity_test', 'field_test')), $dependencies); } /** diff --git a/core/profiles/standard/config/install/entity.form_display.user.user.default.yml b/core/profiles/standard/config/install/entity.form_display.user.user.default.yml index a9c9197..6f0f91f 100644 --- a/core/profiles/standard/config/install/entity.form_display.user.user.default.yml +++ b/core/profiles/standard/config/install/entity.form_display.user.user.default.yml @@ -13,3 +13,4 @@ status: true dependencies: module: - image + - user diff --git a/core/profiles/standard/config/install/entity.view_display.user.user.compact.yml b/core/profiles/standard/config/install/entity.view_display.user.user.compact.yml index 1c7e4e9..ef048ea 100644 --- a/core/profiles/standard/config/install/entity.view_display.user.user.compact.yml +++ b/core/profiles/standard/config/install/entity.view_display.user.user.compact.yml @@ -18,3 +18,4 @@ dependencies: - entity.view_mode.user.compact module: - image + - user diff --git a/core/profiles/standard/config/install/entity.view_display.user.user.default.yml b/core/profiles/standard/config/install/entity.view_display.user.user.default.yml index f39700b..67df43e 100644 --- a/core/profiles/standard/config/install/entity.view_display.user.user.default.yml +++ b/core/profiles/standard/config/install/entity.view_display.user.user.default.yml @@ -14,3 +14,4 @@ status: true dependencies: module: - image + - user