From 70d76b737c526551b5398ab2798f89e9334e55c5 Mon Sep 17 00:00:00 2001
From: Robert Lange <robert.lange@uni-leipzig.de>
Date: Wed, 17 Jun 2020 11:04:51 +0200
Subject: [PATCH] refs #17811 [fid] handle empty publication details in
 OrderHydrator

* prevent notices when publication details are empty
* prevent fidis notice / error when issn in getPublishedIn is null
** set array with empty string instead
---
 module/fid/src/Hydrator/OrderHydrator.php | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/module/fid/src/Hydrator/OrderHydrator.php b/module/fid/src/Hydrator/OrderHydrator.php
index 9edb7e79d93..ba97e3975c2 100644
--- a/module/fid/src/Hydrator/OrderHydrator.php
+++ b/module/fid/src/Hydrator/OrderHydrator.php
@@ -32,7 +32,8 @@ class OrderHydrator extends AbstractHydrator {
         /* Collect needed record data */
         $id = $driver->tryMethod('getUniqueID');
         $title = $driver->tryMethod('getTitle');
-        $publicationDetails = $this->toArray( $driver->tryMethod('getPublicationDetails')[0] );
+        $pdetails = $driver->tryMethod('getPublicationDetails');
+        $publicationDetails = $this->toArray(!empty($pdetails) ? $pdetails[0] : null);
         $authors = $driver->tryMethod('getDeduplicatedAuthors');
         $primaryAuthor = $driver->tryMethod('getPrimaryAuthor');
         $secondaryAuthors = $driver->tryMethod('getSecondaryAuthors');
@@ -49,6 +50,10 @@ class OrderHydrator extends AbstractHydrator {
                 ? $publishedIn['issue'] : implode(', ', $publishedIn['issue']);
         }
 
+        if (empty($publishedIn['issns'])) {
+            $publishedIn['issns'] = [""];
+        }
+
         $record = compact(
             'id',
             'title',
-- 
GitLab