From 40c5d06a502071f6e9ca3828d37c820855f0c039 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Thu, 9 Jul 2020 14:36:31 -0400 Subject: [PATCH] Bug 25969: Checking in a found hold at a different branch then confirming the hold causes internal server error If a record level hold is filled and waiting at Library A, and the item is checked in at Library B, and an attempt is made to re-fill the hold with the item, Koha will return an ISE. Test Plan: 1) Place a hold for Library A, at Library A, for pickup at Library A 2) Check in the item at Library A and fill the hold so it is waiting at Library A 3) Log in as Library B, check in the same barcode 4) Note the request to fill the hold with the item 5) Choose to fill the hold 6) Note you get an internal server error 7) Apply this patch 8) Restart all the things! 9) Repeat steps 1-5 10) No ISE! Signed-off-by: Daniel Gaghan Signed-off-by: Katrin Fischer Signed-off-by: Jonathan Druart Signed-off-by: Jonathan Druart --- circ/returns.pl | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/circ/returns.pl b/circ/returns.pl index 18c36dd724..4ffea1ed8b 100755 --- a/circ/returns.pl +++ b/circ/returns.pl @@ -416,19 +416,22 @@ if ( $messages->{'ResFound'}) { my $diffBranchSend = !$branchCheck ? $reserve->{branchcode} : undef; ModReserveAffect( $reserve->{itemnumber}, $reserve->{borrowernumber}, $diffBranchSend, $reserve->{reserve_id} ); my ( $messages, $nextreservinfo ) = GetOtherReserves($reserve->{itemnumber}); + $template->param( hold_auto_filled => 1, print_slip => C4::Context->preference('HoldsAutoFillPrintSlip'), reserve_id => $nextreservinfo->{reserve_id}, + itemnumber => $itemnumber, ); if ( $messages->{'transfert'} ) { $template->param( - itemtitle => $biblio->title, - itemnumber => $item->itemnumber, + itemtitle => $biblio->title, + itemnumber => $item->itemnumber, itembiblionumber => $biblio->biblionumber, - iteminfo => $biblio->author, - diffbranch => 1, + iteminfo => $biblio->author, + diffbranch => 1, + itemnumber => $itemnumber, ); } } @@ -443,6 +446,7 @@ if ( $messages->{'ResFound'}) { transfertodo => $branchCheck ? undef : 1, reserve_id => $reserve->{reserve_id}, reserved => 1, + itemnumber => $itemnumber, ); } -- 2.39.5