From c5084b48f038b5c189614c65ab0741d10f1a2f4a Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Wed, 22 Dec 2021 15:25:44 +0000 Subject: [PATCH] Bug 29754: Don't include patron when fetching guarantees fines This patch removes the flag to fetch the patrons own debts as we have already calculated them This test plan highlights another issue - the value of NoIssuesChargeGuarantorsWithGuarantees is not checked in SIP code - we merely get the total owed including guarantees and compares to noissuescharge See bug 29755 To test: 1 - Apply first patch only 2 - prove t/db_dependent/SIP/Patron.t 3 - It fails 4 - Enable NoIssuesChargeGuarantorsWithGuarantees, you can set to 1 5 - Create/find a patron 6 - Add a $10 charge to parons account 7 - Add a guarantee to patron 8 - Add a $5 charge to guarantee 9 - Set noissuescharge to 15.01 10 - perl misc/sip_cli_emulator.pl -a localhost -p 6001 -su term1 -sp term1 -l CPL -m patron_information --patron BARCODE 11 - Note the 64 message starts with Y's that mean patron is blocked 12 - Patron shouldn't be blocked as under 15.01 13 - Apply patch 14 - Restart all 15 - repeat 10 16 - Patron is no longer blocked Signed-off-by: Martin Renvoize Signed-off-by: Tomas Cohen Arazi Signed-off-by: Fridolin Somers Signed-off-by: Kyle M Hall (cherry picked from commit fe59e356a3b2ea32b333d6c1d332468db61feeec) Signed-off-by: Andrew Fuerste-Henry --- C4/SIP/ILS/Patron.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C4/SIP/ILS/Patron.pm b/C4/SIP/ILS/Patron.pm index d5ac629023..67ac702c53 100644 --- a/C4/SIP/ILS/Patron.pm +++ b/C4/SIP/ILS/Patron.pm @@ -83,7 +83,7 @@ sub new { my $fines_amount = $flags->{CHARGES}->{amount}; #TODO Replace with $patron->account->non_issues_charges $fines_amount = ($fines_amount and $fines_amount > 0) ? $fines_amount : 0; if ( C4::Context->preference('NoIssuesChargeGuarantorsWithGuarantees') ) { - $fines_amount += $patron->relationships_debt({ include_guarantors => 1, only_this_guarantor => 0, include_this_patron => 1 }); + $fines_amount += $patron->relationships_debt({ include_guarantors => 1, only_this_guarantor => 0, include_this_patron => 0 }); } else { my $guarantees_fines_amount = $flags->{CHARGES_GUARANTEES} ? $flags->{CHARGES_GUARANTEES}->{amount} : 0; #TODO: Replace with $patron->relationships_debt $fines_amount += $guarantees_fines_amount; -- 2.39.5