From cd95cea044d3e9dbbf6b1f5d58c9655417c92bd7 Mon Sep 17 00:00:00 2001 From: Lari Taskula Date: Thu, 21 Dec 2017 16:55:58 +0200 Subject: [PATCH] Bug 7614: (follow-up) If patron's home library is not a pickup library, let them choose another one This patch fixes an issue where patron is not allowed to place a hold in OPAC while their home library is not a pickup library. Instead, they should be presented with a list of other available pickup locations. Signed-off-by: Bob Bennhoff Signed-off-by: Kyle M Hall Signed-off-by: Nick Clemens (cherry picked from commit 3a69ec5e050cb7a00fa98e360235941ccc3eb4a1) Signed-off-by: Martin Renvoize --- koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt | 5 +++++ opac/opac-reserve.pl | 9 +++++++++ 2 files changed, 14 insertions(+) diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt index 214eb7732a..d55672fa5a 100644 --- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt +++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt @@ -112,6 +112,11 @@ [% END %] + [% IF ( no_pickup_locations ) %] +
  • + None of the libraries are available for pickup location. +
  • + [% END %] [% ELSE %] [% IF ( none_available && multi_hold ) %] diff --git a/opac/opac-reserve.pl b/opac/opac-reserve.pl index df13dc1c74..e8969752b5 100755 --- a/opac/opac-reserve.pl +++ b/opac/opac-reserve.pl @@ -385,6 +385,7 @@ my $itemdata_enumchron = 0; my $itemdata_ccode = 0; my $anyholdable = 0; my $itemLevelTypes = C4::Context->preference('item-level_itypes'); +my $pickup_locations = Koha::Libraries->search({ pickup_location => 1 }); $template->param('item_level_itypes' => $itemLevelTypes); foreach my $biblioNum (@biblionumbers) { @@ -614,6 +615,14 @@ foreach my $biblioNum (@biblionumbers) { $anyholdable = 1 if $biblioLoopIter{holdable}; } +unless ($pickup_locations->count) { + $numBibsAvailable = 0; + $anyholdable = 0; + $template->param( + message => 1, + no_pickup_locations => 1 + ); +} if ( $numBibsAvailable == 0 || $anyholdable == 0) { $template->param( none_available => 1 ); -- 2.39.5