From 3c40a7e8fca589b3506510602815a9e123d1e3df Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Thu, 14 Apr 2022 06:50:20 -0400 Subject: [PATCH] Bug 30541 - Resolve return claim works but "hangs" if MarkLostItemsAsReturned is set for return claims Basically, if MarkLostItemsAsReturned is set for return claims, the code will crash while trying to pull the checkout so it can update the lost status of the item. This is because the code assumes there must be a checkout and never checks the old_checkouts table. This bug appears to only exist in 21.05 at this time. It was fixed by a combination of bugs 29495 and 28588. Test Plan: 1) Set MarkLostItemsAsReturned for return claims 2) Mark a checkout as claims returned 3) Verify the checkout is no longer on the patron record 4) Resolve the claim 5) Note the attempt "hangs" but refreshing the page shows it worked 6) Apply this patch, restart all the things! 7) Repeat steps 2-4 8) It works! Signed-off-by: Andrew Fuerste-Henry Signed-off-by: Signed-off-by: Christine Lee --- Koha/Checkouts/ReturnClaim.pm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Koha/Checkouts/ReturnClaim.pm b/Koha/Checkouts/ReturnClaim.pm index 7dc5a2609c..dc6070056f 100644 --- a/Koha/Checkouts/ReturnClaim.pm +++ b/Koha/Checkouts/ReturnClaim.pm @@ -74,8 +74,12 @@ sub checkout { my ($self) = @_; my $checkout_rs = $self->_result->checkout; - return unless $checkout_rs; - return Koha::Checkout->_new_from_dbic($checkout_rs); + return Koha::Checkout->_new_from_dbic($checkout_rs) + if $checkout_rs; + + $checkout_rs = $self->_result->old_checkout; + return Koha::Old::Checkout->_new_from_dbic($checkout_rs) + if $checkout_rs; } =head3 old_checkout -- 2.11.0