From 68d3116161f41f5be6af9bc943519c499de6983e Mon Sep 17 00:00:00 2001 From: paranojik <paranojik@19501.no-reply.drupal.org> Date: Wed, 4 May 2016 18:26:48 +0200 Subject: [PATCH] Issue #2717937 by paranojik: RevisionControllerTrait doesn't properly display operation links --- src/Controller/RevisionControllerTrait.php | 8 +++++++- src/Controller/RevisionOverviewController.php | 8 ++++---- tests/src/Kernel/RevisionBasicUITest.php | 14 ++++++++++++++ 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/src/Controller/RevisionControllerTrait.php b/src/Controller/RevisionControllerTrait.php index 5c3319c..80adc1d 100644 --- a/src/Controller/RevisionControllerTrait.php +++ b/src/Controller/RevisionControllerTrait.php @@ -155,7 +155,13 @@ trait RevisionControllerTrait { } } else { - $row[] = $this->getOperationLinks($revision); + $links = $this->getOperationLinks($revision); + $row[] = [ + 'data' => [ + '#type' => 'operations', + '#links' => $links, + ], + ]; } } diff --git a/src/Controller/RevisionOverviewController.php b/src/Controller/RevisionOverviewController.php index c92410e..b3f815d 100644 --- a/src/Controller/RevisionOverviewController.php +++ b/src/Controller/RevisionOverviewController.php @@ -72,10 +72,10 @@ class RevisionOverviewController extends ControllerBase { * {@inheritdoc} */ protected function buildRevertRevisionLink(EntityInterface $entity_revision) { - if ($entity_revision->hasLinkTemplate('revision-revert')) { + if ($entity_revision->hasLinkTemplate('revision-revert-form')) { return [ 'title' => t('Revert'), - 'url' => $entity_revision->toUrl('revision-revert'), + 'url' => $entity_revision->toUrl('revision-revert-form'), ]; } } @@ -84,10 +84,10 @@ class RevisionOverviewController extends ControllerBase { * {@inheritdoc} */ protected function buildDeleteRevisionLink(EntityInterface $entity_revision) { - if ($entity_revision->hasLinkTemplate('revision-delete')) { + if ($entity_revision->hasLinkTemplate('revision-delete-form')) { return [ 'title' => t('Delete'), - 'url' => $entity_revision->toUrl('revision-delete'), + 'url' => $entity_revision->toUrl('revision-delete-form'), ]; } } diff --git a/tests/src/Kernel/RevisionBasicUITest.php b/tests/src/Kernel/RevisionBasicUITest.php index f452efc..741b586 100644 --- a/tests/src/Kernel/RevisionBasicUITest.php +++ b/tests/src/Kernel/RevisionBasicUITest.php @@ -84,6 +84,20 @@ class RevisionBasicUITest extends KernelTestBase { // This ensures that the default revision is still the first revision. $this->assertTrue(strpos($response->getContent(), 'entity_test_enhanced/1/revisions/2/view') !== FALSE); $this->assertTrue(strpos($response->getContent(), 'entity_test_enhanced/1') !== FALSE); + + // Publish a new revision. + $revision = clone $entity; + $revision->name->value = 'rev 3'; + $revision->setNewRevision(TRUE); + $revision->isDefaultRevision(TRUE); + $revision->save(); + + $request = Request::create($revision->url('version-history')); + $response = $http_kernel->handle($request); + $this->assertEquals(200, $response->getStatusCode()); + + // The first revision row should now include a revert link. + $this->assertTrue(strpos($response->getContent(), 'entity_test_enhanced/1/revisions/1/revert') !== FALSE); } public function testRevisionView() { -- GitLab