From 20c460457dead2ff00f911a0289760d0afc37fcb Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Wed, 5 Feb 2020 09:17:13 +0000 Subject: [PATCH] Bug 24474: Add ReturnLostItem handling for staff client payments This patch adds a call to ReturnLostItem for Lost Item payments taken via the staff client. --- members/paycollect.pl | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/members/paycollect.pl b/members/paycollect.pl index a7f0e39108..0c7470599f 100755 --- a/members/paycollect.pl +++ b/members/paycollect.pl @@ -184,6 +184,17 @@ if ( $total_paid and $total_paid ne '0.00' ) { cash_register => $registerid } ); + + # Return lost items when paid for + if ( $payment_type ne 'WRITEOFF' + && $line->debit_type_code eq 'LOST' + && $line->amountoutstanding == 0 + && C4::Context->preference('MarkLostItemsAsReturned') =~ m|OnPayment| ) + { + C4::Circulation::ReturnLostItem( $borrowernumber, + $line->itemnumber ); + + } print $input->redirect( "/cgi-bin/koha/members/pay.pl?borrowernumber=$borrowernumber&payment_id=$payment_id&change_given=$change_given"); } else { @@ -208,6 +219,25 @@ if ( $total_paid and $total_paid ne '0.00' ) { cash_register => $registerid } ); + + # Return lost items when paid for + if ( + C4::Context->preference('MarkLostItemsAsReturned') =~ + m|OnPayment| ) + { + + for my $debit ( @selected_accountlines ){ + $debit->get_from_storage; + if ( $debit->amountoutstanding == 0 + && $debit->itemnumber + && $debit->debit_type_code + && ( $debit->debit_type_code eq 'LOST' ) ) + { + C4::Circulation::ReturnLostItem( + $borrowernumber, $debit->itemnumber ); + } + } + } } } else { -- 2.20.1