From afaefbaea40177873e259d66a4054b5755d20aeb Mon Sep 17 00:00:00 2001 From: cedelis <cedelis@uillinois.edu> Date: Thu, 3 Nov 2016 11:34:51 -0500 Subject: [PATCH] Optionally allow API retrieval of local callslips (#847) - Renamed getRemoteCallSlips to getCallSlips and added a new bool parameter that when set to true will return local CallSlip information along with Remote CallSlip information (default is false). --- .../src/VuFind/ILS/Driver/VoyagerRestful.php | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/module/VuFind/src/VuFind/ILS/Driver/VoyagerRestful.php b/module/VuFind/src/VuFind/ILS/Driver/VoyagerRestful.php index 6f31bc649a3..74e03b984bb 100644 --- a/module/VuFind/src/VuFind/ILS/Driver/VoyagerRestful.php +++ b/module/VuFind/src/VuFind/ILS/Driver/VoyagerRestful.php @@ -2366,14 +2366,17 @@ EOT; } /** - * Get Patron Remote Storage Retrieval Requests (Call Slips). Gets remote - * callslips via the API. + * Get Patron Storage Retrieval Requests (Call Slips). Gets callslips via + * the API. Returns only remote slips by default since more complete data + * can be retrieved directly from the local database; however, the $local + * parameter exists to support potential local customizations. * * @param array $patron The patron array from patronLogin + * @param bool $local Whether to include local callslips * * @return mixed Array of the patron's storage retrieval requests. */ - protected function getRemoteCallSlips($patron) + protected function getCallSlips($patron, $local = false) { // Build Hierarchy $hierarchy = [ @@ -2397,8 +2400,11 @@ EOT; $requests = []; if (isset($results->callslips->institution)) { foreach ($results->callslips->institution as $institution) { - if ($this->isLocalInst((string)$institution->attributes()->id)) { - // Ignore local callslips, we have them already + if (!$local + && $this->isLocalInst((string)$institution->attributes()->id) + ) { + // Unless $local is set, ignore local callslips; we have them + // already.... continue; } foreach ($institution->callslip as $callslip) { @@ -3147,7 +3153,7 @@ EOT; { return array_merge( $this->getHoldsFromApi($patron, false), - $this->getRemoteCallSlips($patron) + $this->getCallSlips($patron, false) // remote only ); } -- GitLab