From 4a37f147d3a6ebba0648d060428ae6cc5be4fd6d Mon Sep 17 00:00:00 2001
From: Dorian Merz <merz@ub.uni-leipzig.de>
Date: Thu, 25 Mar 2021 15:59:43 +0100
Subject: [PATCH] refs #17919 [finc] introduce MultiLine switch function for
 imprint / publication details

co-authored by: Robert Lange <robert.lange@uni-leipzig.de>
* keep label Published
---
 .../View/Helper/Root/MultiDataFieldsTrait.php | 42 +++++++++++++++++++
 1 file changed, 42 insertions(+)

diff --git a/module/finc/src/finc/View/Helper/Root/MultiDataFieldsTrait.php b/module/finc/src/finc/View/Helper/Root/MultiDataFieldsTrait.php
index 0f137ca2a65..c60b9282306 100644
--- a/module/finc/src/finc/View/Helper/Root/MultiDataFieldsTrait.php
+++ b/module/finc/src/finc/View/Helper/Root/MultiDataFieldsTrait.php
@@ -179,4 +179,46 @@ trait MultiDataFieldsTrait
         return $final;
     }
 
+    /**
+     * Multiline function for publication details
+     * used as a switch to use getImprint for DefaultRecord
+     *
+     * @param $data
+     * @param $options
+     * @param $driver
+     * @return array[]
+     */
+    public function publicationDetailsImprint($data, $options, $driver)
+    {
+        $type = $driver->tryMethod('getRecordType');
+        if ($type === 'default') {
+            $data = $driver->tryMethod('getImprint');
+            if (empty($data)) {
+                return [];
+            }
+            return [[
+                'label' => 'Published',
+                'values' => $data,
+                'options' => [
+                    'pos' => $options['pos'],
+                    'renderType' => 'RecordDriverTemplate',
+                    'template' => 'data-imprint.phtml',
+                ],
+            ]];
+        } else {
+            $data = $driver->tryMethod('getPublicationDetails');
+            if (empty($data)) {
+                return [];
+            }
+            return [[
+                'label' => 'Published',
+                'values' => $data,
+                'options' => [
+                    'pos' => $options['pos'],
+                    'renderType' => 'RecordDriverTemplate',
+                    'template' => 'data-publicationDetails.phtml',
+                ],
+            ]];
+        }
+    }
 }
-- 
GitLab