From fb1a9b949a5b467eae00254c0387bb782df10c1a Mon Sep 17 00:00:00 2001 From: Lucas Gass Date: Mon, 29 Jan 2024 18:26:28 +0000 Subject: [PATCH] Bug 35840: Add option to AddReturn to skip recording of localuse To test: 1. APPLY PATCH, restart_all 2. Turn on RecordLocalUseOnReturn 3. Create a Statistical patron. 4. Check an item out to a regular patron. 5. Check the item out to a Statistical patron. 6. This should trigger a return and you will see 2 entries in the statistics table, one for localuse and one for a return. 7. Try checking out an item to the Stats patron that is NOT checked out. 8. You should only see 1 entry, localuse, in the statistics table. Signed-off-by: Andrew Fuerste Henry Signed-off-by: Martin Renvoize Signed-off-by: Katrin Fischer (cherry picked from commit ffc722554e8a1a0da4cd788625f77bafd1cb1f92) Signed-off-by: Fridolin Somers --- C4/Circulation.pm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/C4/Circulation.pm b/C4/Circulation.pm index 2d2b61f6fc..c1acb350ce 100644 --- a/C4/Circulation.pm +++ b/C4/Circulation.pm @@ -836,7 +836,7 @@ sub CanBookBeIssued { ); my $block_lost_return = C4::Context->preference("BlockReturnOfLostItems") ? 1 : 0; my ( $stats_return, $stats_messages, $stats_iteminformation, $stats_borrower ) = - AddReturn( $item_object->barcode, C4::Context->userenv->{'branch'} ); + AddReturn( $item_object->barcode, C4::Context->userenv->{'branch'}, undef, undef, 1 ) if $item_object->onloan; ModDateLastSeen( $item_object->itemnumber, $block_lost_return ); # FIXME Move to Koha::Item return ( { @@ -2055,7 +2055,7 @@ sub GetBranchItemRule { =head2 AddReturn ($doreturn, $messages, $iteminformation, $borrower) = - &AddReturn( $barcode, $branch [,$exemptfine] [,$returndate] ); + &AddReturn( $barcode, $branch [,$exemptfine] [,$returndate] [,$skip_localuse ] ); Returns a book. @@ -2071,6 +2071,8 @@ removed. Optional. =item C<$return_date> allows the default return date to be overridden by the given return date. Optional. +=item C<$skip_localuse> indicated that localuse should not be recorded. Optional. + =back C<&AddReturn> returns a list of four items: @@ -2136,7 +2138,7 @@ patron who last borrowed the book. =cut sub AddReturn { - my ( $barcode, $branch, $exemptfine, $return_date ) = @_; + my ( $barcode, $branch, $exemptfine, $return_date, $skip_localuse ) = @_; if ($branch and not Koha::Libraries->find($branch)) { warn "AddReturn error: branch '$branch' not found. Reverting to " . C4::Context->userenv->{'branch'}; @@ -2479,7 +2481,7 @@ sub AddReturn { ccode => $item->ccode, categorycode => $categorycode, interface => C4::Context->interface, - }); + }) unless ( $skip_localuse && $stat_type eq 'localuse' ); # Send a check-in slip. # NOTE: borrower may be undef. Do not try to send messages then. if ( $patron ) { -- 2.39.5