Browse Source

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 <daniel.gaghan@pueblolibrary.org>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
20.11.x
Kyle Hall 4 years ago
committed by Jonathan Druart
parent
commit
40c5d06a50
  1. 12
      circ/returns.pl

12
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,
);
}

Loading…
Cancel
Save