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