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 <andrewfh@dubcolib.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This commit is contained in:
Lucas Gass 2024-01-29 18:26:28 +00:00 committed by Katrin Fischer
parent ac71adbd23
commit ffc722554e
Signed by: kfischer
GPG key ID: 0EF6E2C03357A834

View file

@ -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 ) {