diff --git a/core/modules/views/src/EntityViewsData.php b/core/modules/views/src/EntityViewsData.php index 70a4574..64ab1f4 100644 --- a/core/modules/views/src/EntityViewsData.php +++ b/core/modules/views/src/EntityViewsData.php @@ -246,6 +246,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 5620450..210c108 100644 --- a/core/modules/views/tests/src/Unit/EntityViewsDataTest.php +++ b/core/modules/views/tests/src/Unit/EntityViewsDataTest.php @@ -924,9 +924,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']); + } } /** @@ -936,10 +938,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']); + } } /**