From 01d91a5714e10cd0751c412c1e6253c62b90a6b1 Mon Sep 17 00:00:00 2001 From: catch Date: Tue, 14 Jul 2020 16:48:53 +0100 Subject: [PATCH] Issue #3112916 by Sam152, ocelotkevin, corneboele, jantoine, yovince, bkosborne: Content Moderation views should join on entity ID (cherry picked from commit 7a48898ffcc88da6d40d1d91f5086a4eeab13b11) --- .../Plugin/views/ModerationStateJoinViewsHandlerTrait.php | 4 ++++ .../tests/src/Kernel/ViewsModerationStateFilterTest.php | 7 +++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/core/modules/content_moderation/src/Plugin/views/ModerationStateJoinViewsHandlerTrait.php b/core/modules/content_moderation/src/Plugin/views/ModerationStateJoinViewsHandlerTrait.php index 3affab6acd..bf49573db0 100644 --- a/core/modules/content_moderation/src/Plugin/views/ModerationStateJoinViewsHandlerTrait.php +++ b/core/modules/content_moderation/src/Plugin/views/ModerationStateJoinViewsHandlerTrait.php @@ -35,6 +35,10 @@ public function ensureMyTable() { 'field' => 'content_entity_type_id', 'value' => $left_entity_type->id(), ], + [ + 'field' => 'content_entity_id', + 'left_field' => $left_entity_type->getKey('id'), + ], ], ]; if ($left_entity_type->isTranslatable()) { diff --git a/core/modules/content_moderation/tests/src/Kernel/ViewsModerationStateFilterTest.php b/core/modules/content_moderation/tests/src/Kernel/ViewsModerationStateFilterTest.php index a8ade5fa39..4341998b78 100644 --- a/core/modules/content_moderation/tests/src/Kernel/ViewsModerationStateFilterTest.php +++ b/core/modules/content_moderation/tests/src/Kernel/ViewsModerationStateFilterTest.php @@ -297,8 +297,11 @@ protected function assertNodesWithFilters(array $nodes, array $filters, $view_id $this->assertEquals('vid', $configuration['left_field']); $this->assertEquals('content_entity_type_id', $configuration['extra'][0]['field']); $this->assertEquals('node', $configuration['extra'][0]['value']); - $this->assertEquals('langcode', $configuration['extra'][1]['field']); - $this->assertEquals('langcode', $configuration['extra'][1]['left_field']); + + $this->assertEquals('content_entity_id', $configuration['extra'][1]['field']); + $this->assertEquals('nid', $configuration['extra'][1]['left_field']); + $this->assertEquals('langcode', $configuration['extra'][2]['field']); + $this->assertEquals('langcode', $configuration['extra'][2]['left_field']); $expected_result = []; foreach ($nodes as $node) { -- GitLab