From d138dac86f1a4b3992b413d709de1aa91df174c5 Mon Sep 17 00:00:00 2001 From: Dorian Merz <merz@ub.uni-leipzig.de> Date: Thu, 22 Apr 2021 10:58:56 +0200 Subject: [PATCH] refs #19733 [fid] bugfix and refactoring in \fid\Controller\MyResearchController::databasesAction * fix problems with unset homeLibrary --- module/fid/src/Controller/MyResearchController.php | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/module/fid/src/Controller/MyResearchController.php b/module/fid/src/Controller/MyResearchController.php index e0e032ed4b2..71002c9c96a 100644 --- a/module/fid/src/Controller/MyResearchController.php +++ b/module/fid/src/Controller/MyResearchController.php @@ -105,7 +105,9 @@ class MyResearchController extends \VuFind\Controller\MyResearchController try { $library = $this->getHomeLibrary($patron); - $view->homeLibrary = $library->getDbis(); + if (!is_null($library)) { + $view->homeLibrary = $library->getDbis(); + } $view->map_bibid_to_dbis = false; } catch (ClientException $exception) { // TODO: Implement logging (in database?) @@ -159,14 +161,14 @@ class MyResearchController extends \VuFind\Controller\MyResearchController protected function getHomeLibrary($patron): ?Library { if (is_a($patron['user'], 'fid\Service\DataTransferObject\User') - && $patron['user']->getHomeLibrary()) + && $homeLibrary = $patron['user']->getHomeLibrary()) { - if (isset($patron['libs'][$patron['user']->getHomeLibrary()])) { - return $patron['libs'][$patron['user']->getHomeLibrary()]; + if (isset($patron['libs'][$homeLibrary])) { + return $patron['libs'][$homeLibrary]; } /* no home library found in patron object? => fetch library from api directly */ - return $this->fidClient->requestLibraryById($patron['user']->getHomeLibrary()); + return $this->fidClient->requestLibraryById($homeLibrary); } return null; -- GitLab