@@ -, +, @@
locations in reserve/request.tt
---
.../intranet-tmpl/prog/en/modules/reserve/request.tt | 12 +++++++++++-
reserve/request.pl | 11 ++++++++---
2 files changed, 19 insertions(+), 4 deletions(-)
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt
+++ a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt
@@ -424,7 +424,11 @@
Pickup at:
- [% PROCESS options_for_libraries libraries => Branches.all({ selected => pickup, search_params => { pickup_location => 1 } }) %]
+ [% UNLESS ( multi_hold ) %]
+ [% PROCESS options_for_libraries libraries => Branches.pickup_locations({ search_params => { biblio => biblionumber, patron => patron }, selected => pickup }) %]
+ [% ELSE %]
+ [% PROCESS options_for_libraries libraries => Branches.all({ selected => pickup, search_params => { pickup_location => 1 } }) %]
+ [% END %]
@@ -540,6 +544,7 @@
Vol no.
[% END %]
Information
+ Allowed pickup locations
@@ -576,6 +581,8 @@
Not holdable
[% ELSIF itemloo.not_holdable == 'cannotReserveFromOtherBranches' %]
Patron is from different library
+ [% ELSIF itemloo.not_holdable == 'branchNotInHoldGroup' %]
+ Cannot place hold from patrons's library
[% ELSIF itemloo.not_holdable == 'itemAlreadyOnHold' %]
Patron already has hold for this item
[% ELSIF itemloo.not_holdable == 'cannotBeTransferred' %]
@@ -673,6 +680,9 @@
Not for loan ([% AuthorisedValues.GetByCode( 'NOT_LOAN', itemloo.notforloan ) | html %])
[% END %]
+
+ [% itemloo.pickup_locations | html %]
+
[% END # / UNLESS itemloo.hide %]
[% END # /FOREACH itemloo %]
--- a/reserve/request.pl
+++ a/reserve/request.pl
@@ -298,7 +298,7 @@ foreach my $biblionumber (@biblionumbers) {
my $force_hold_level;
if ( $patron ) {
{ # CanBookBeReserved
- my $canReserve = CanBookBeReserved( $patron->borrowernumber, $biblionumber, $pickup );
+ my $canReserve = CanBookBeReserved( $patron->borrowernumber, $biblionumber );
if ( $canReserve->{status} eq 'OK' ) {
#All is OK and we can continue
@@ -548,8 +548,8 @@ foreach my $biblionumber (@biblionumbers) {
$item->{'holdallowed'} = $branchitemrule->{'holdallowed'};
- my $can_item_be_reserved = CanItemBeReserved( $patron->borrowernumber, $itemnumber, $pickup )->{status};
- $item->{not_holdable} = $can_item_be_reserved unless $can_item_be_reserved eq 'OK';
+ my $can_item_be_reserved = CanItemBeReserved( $patron->borrowernumber, $itemnumber )->{status};
+ $item->{not_holdable} = $can_item_be_reserved unless ( $can_item_be_reserved->{status} eq 'OK' );
$item->{item_level_holds} = Koha::IssuingRules->get_opacitemholds_policy( { item => $item_object, patron => $patron } );
@@ -562,6 +562,11 @@ foreach my $biblionumber (@biblionumbers) {
{
$item->{available} = 1;
$num_available++;
+ if($branchitemrule->{'hold_fulfillment_policy'} eq 'any' ) {
+ $item->{pickup_locations} = 'Any library';
+ } else {
+ $item->{pickup_locations} = join (', ', map { $_->{branchname} } Koha::Items->find($itemnumber)->pickup_locations());
+ }
push( @available_itemtypes, $item->{itype} );
}
--