@@ -, +, @@
- item1: homebranch: MPL, holdingbranch: MPL
- item2: homebranch: FPL, holdingbranch: FPL
- item3: homebranch: CPL, holdingbranch: IPT
(acevedo?)
---
koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt | 8 ++++++--
reserve/placerequest.pl | 7 ++++---
reserve/request.pl | 6 +++++-
3 files changed, 15 insertions(+), 6 deletions(-)
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt
+++ a/koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt
@@ -724,9 +724,13 @@
[% IF (itemloo.pickup_locations_count > 0) %]
-
+ data-patron-id="[% patron.borrowernumber | html %]">
+ [% IF (itemloo.default_pickup_location) %]
+
+ [% END %]
+
[% END %]
|
--- a/reserve/placerequest.pl
+++ a/reserve/placerequest.pl
@@ -45,7 +45,6 @@ my $biblionumber = $input->param('biblionumber');
my $borrowernumber = $input->param('borrowernumber');
my $notes = $input->param('notes');
my $branch = $input->param('pickup');
-my $item_pickup = $input->param('item_pickup');
my $startdate = $input->param('reserve_date') || '';
my @rank = $input->multi_param('rank-request');
my $type = $input->param('type');
@@ -94,18 +93,20 @@ if ( $type eq 'str8' && $borrower ) {
my $can_override = C4::Context->preference('AllowHoldPolicyOverride');
if ( defined $checkitem && $checkitem ne '' ) {
+ my $item_pickup_location = $input->param("item_pickup_$checkitem");
+
my $item = Koha::Items->find($checkitem);
if ( $item->biblionumber ne $biblionumber ) {
$biblionumber = $item->biblionumber;
}
- my $can_item_be_reserved = CanItemBeReserved($borrower->{'borrowernumber'}, $item->itemnumber, $item_pickup)->{status};
+ my $can_item_be_reserved = CanItemBeReserved($borrower->{'borrowernumber'}, $item->itemnumber, $item_pickup_location)->{status};
if ( $can_item_be_reserved eq 'OK' || ( $can_item_be_reserved ne 'itemAlreadyOnHold' && $can_override ) ) {
AddReserve(
{
- branchcode => $item_pickup,
+ branchcode => $item_pickup_location,
borrowernumber => $borrower->{'borrowernumber'},
biblionumber => $biblionumber,
priority => $rank[0],
--- a/reserve/request.pl
+++ a/reserve/request.pl
@@ -578,10 +578,14 @@ foreach my $biblionumber (@biblionumbers) {
)
{
# Send the pickup locations count to the UI, the pickup locations will be pulled using the API
- $item->{pickup_locations_count} = $item_object->pickup_locations({ patron => $patron })->count;
+ my $pickup_locations = $item_object->pickup_locations({ patron => $patron });
+ $item->{pickup_locations_count} = $pickup_locations->count;
if ( $item->{pickup_locations_count} > 0 ) {
$num_available++;
$item->{available} = 1;
+ # pass the holding branch for use as default
+ my $default_pickup_location = $pickup_locations->search({ branchcode => $item->{holdingbranch} })->next;
+ $item->{default_pickup_location} = $default_pickup_location;
}
else {
$item->{available} = 0;
--