diff --git a/core/modules/views/src/EntityViewsData.php b/core/modules/views/src/EntityViewsData.php index a12bd55f2c287e841f526bd383486a53b71e4f7d..079ee3bb3d170ae84fccfac603fdbfda5edb94b7 100644 --- a/core/modules/views/src/EntityViewsData.php +++ b/core/modules/views/src/EntityViewsData.php @@ -253,6 +253,9 @@ public function getViewsData() { } $this->addEntityLinks($data[$base_table]); + if ($views_revision_base_table) { + $this->addEntityLinks($data[$views_revision_base_table]); + } // Load all typed data definitions of all fields. This should cover each of // the entity base, revision, data tables. diff --git a/core/modules/views/tests/src/Unit/EntityViewsDataTest.php b/core/modules/views/tests/src/Unit/EntityViewsDataTest.php index 1bd3970536f80877583f5c1ccb509beac9648870..405979588eb3920306151738af6d5e6d77f20c1a 100644 --- a/core/modules/views/tests/src/Unit/EntityViewsDataTest.php +++ b/core/modules/views/tests/src/Unit/EntityViewsDataTest.php @@ -933,9 +933,11 @@ public function testEntityLinks() { $this->baseEntityType->setLinkTemplate('delete-form', '/entity_test/{entity_test}/delete'); $data = $this->viewsData->getViewsData(); - $this->assertEquals('entity_link', $data['entity_test']['view_entity_test']['field']['id']); - $this->assertEquals('entity_link_edit', $data['entity_test']['edit_entity_test']['field']['id']); - $this->assertEquals('entity_link_delete', $data['entity_test']['delete_entity_test']['field']['id']); + foreach (['entity_test', 'entity_test_revision'] as $table_name) { + $this->assertEquals('entity_link', $data[$table_name]['view_entity_test']['field']['id']); + $this->assertEquals('entity_link_edit', $data[$table_name]['edit_entity_test']['field']['id']); + $this->assertEquals('entity_link_delete', $data[$table_name]['delete_entity_test']['field']['id']); + } } /** @@ -945,10 +947,13 @@ public function testEntityLinksJustEditForm() { $this->baseEntityType->setLinkTemplate('edit-form', '/entity_test/{entity_test}/edit'); $data = $this->viewsData->getViewsData(); - $this->assertFalse(isset($data['entity_test']['view_entity_test'])); - $this->assertFalse(isset($data['entity_test']['delete_entity_test'])); - $this->assertEquals('entity_link_edit', $data['entity_test']['edit_entity_test']['field']['id']); + foreach (['entity_test', 'entity_test_revision'] as $table_name) { + $this->assertFalse(isset($data[$table_name]['view_entity_test'])); + $this->assertFalse(isset($data[$table_name]['delete_entity_test'])); + + $this->assertEquals('entity_link_edit', $data[$table_name]['edit_entity_test']['field']['id']); + } } /**