From cebb77c8e573dad75255d5955d14949ce3b17038 Mon Sep 17 00:00:00 2001 From: Bernd Oliver Suenderhauf <bos@suenderhauf.de> Date: Tue, 4 Jun 2019 03:39:06 +0200 Subject: [PATCH] Issue #3058936 by Pancho: Use simple notation when generating link with single entity --- src/Service/FillPdfLinkManipulator.php | 12 ++++++++++-- .../Unit/LinkManipulator/ParseEntityIdsTest.php | 16 ++++++++-------- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/src/Service/FillPdfLinkManipulator.php b/src/Service/FillPdfLinkManipulator.php index 3de7592..a718403 100644 --- a/src/Service/FillPdfLinkManipulator.php +++ b/src/Service/FillPdfLinkManipulator.php @@ -251,8 +251,16 @@ class FillPdfLinkManipulator implements FillPdfLinkManipulatorInterface { } } - if (!empty($entity_ids)) { - $query['entity_ids'] = $entity_ids; + switch (count($entity_ids)) { + case 0: + break; + + case 1: + $query['entity_id'] = reset($entity_ids); + break; + + default: + $query['entity_ids'] = $entity_ids; } return $query; diff --git a/tests/src/Unit/LinkManipulator/ParseEntityIdsTest.php b/tests/src/Unit/LinkManipulator/ParseEntityIdsTest.php index cf8a03d..57adc9f 100644 --- a/tests/src/Unit/LinkManipulator/ParseEntityIdsTest.php +++ b/tests/src/Unit/LinkManipulator/ParseEntityIdsTest.php @@ -49,11 +49,11 @@ class ParseEntityIdsTest extends UnitTestCase { ]; $cases[1] = [ ['entity_ids' => ['node:1']], - ['entity_ids' => ['node:1']], + ['entity_id' => 'node:1'], ]; $cases[2] = [ ['entity_ids' => ['term:5']], - ['entity_ids' => ['term:5']], + ['entity_id' => 'term:5'], ]; $cases[3] = [ ['entity_ids' => ['node:1', 'node:2']], @@ -61,7 +61,7 @@ class ParseEntityIdsTest extends UnitTestCase { ]; $cases[4] = [ ['entity_ids' => ['node:1', 'node:1']], - ['entity_ids' => ['node:1']], + ['entity_id' => 'node:1'], ]; $cases[5] = [ ['entity_ids' => ['user:3', 'term:5']], @@ -69,19 +69,19 @@ class ParseEntityIdsTest extends UnitTestCase { ]; $cases[6] = [ ['entity_ids' => [], 'entity_type' => '', 'entity_id' => 1], - ['entity_ids' => ['node:1']], + ['entity_id' => 'node:1'], ]; $cases[7] = [ ['entity_id' => 1], - ['entity_ids' => ['node:1']], + ['entity_id' => 'node:1'], ]; $cases[8] = [ ['entity_type' => 'term', 'entity_id' => 5], - ['entity_ids' => ['term:5']], + ['entity_id' => 'term:5'], ]; $cases[9] = [ ['entity_ids' => ['1'], 'entity_type' => 'node'], - ['entity_ids' => ['node:1']], + ['entity_id' => 'node:1'], ]; $cases[10] = [ ['entity_ids' => ['1', '2'], 'entity_type' => 'node'], @@ -93,7 +93,7 @@ class ParseEntityIdsTest extends UnitTestCase { ]; $cases[12] = [ ['entity_ids' => ['3', '4'], 'entity_type' => 'user', 'entity_id' => '5'], - ['entity_ids' => ['user:5']], + ['entity_id' => 'user:5'], ]; return $cases; } -- GitLab