From bbb22c061ad67faf4c545b8080c9a5b53e33ea5d Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Thu, 2 Dec 2021 13:52:45 +0100 Subject: [PATCH] Bug 29385: Catch register_id for payments against fees This patch refactors the pay method in SIP FeePayment such that we consistently pass parameters to both invocations of Koha::Account->pay. It ensure the missing cash_register definition is passed when a set of account lines to pay is defined. Signed-off-by: Kyle M Hall Signed-off-by: Martin Renvoize Signed-off-by: Kyle M Hall Signed-off-by: Fridolin Somers Signed-off-by: Kyle M Hall (cherry picked from commit e8b1bc88508c1cf919b21cf93a0f7163e1c07289) Signed-off-by: Andrew Fuerste-Henry --- C4/SIP/ILS/Transaction/FeePayment.pm | 42 ++++++++++------------------ 1 file changed, 14 insertions(+), 28 deletions(-) diff --git a/C4/SIP/ILS/Transaction/FeePayment.pm b/C4/SIP/ILS/Transaction/FeePayment.pm index 47f868627e..3f05a61808 100644 --- a/C4/SIP/ILS/Transaction/FeePayment.pm +++ b/C4/SIP/ILS/Transaction/FeePayment.pm @@ -59,22 +59,18 @@ sub pay { return { ok => 0 } if $account->balance < $amt; } + my $pay_options = { + amount => $amt, + type => $type, + payment_type => 'SIP' . $sip_type, + interface => C4::Context->interface, + cash_register => $register_id, + }; + if ($fee_id) { my $fee = Koha::Account::Lines->find($fee_id); if ( $fee ) { - my $pay_response = $account->pay( - { - amount => $amt, - type => $type, - payment_type => 'SIP' . $sip_type, - lines => [$fee], - interface => C4::Context->interface - } - ); - return { - ok => 1, - pay_response => $pay_response - }; + $pay_options->{lines} = [$fee]; } else { return { @@ -82,21 +78,11 @@ sub pay { }; } } - else { - my $pay_response = $account->pay( - { - amount => $amt, - type => $type, - payment_type => 'SIP' . $sip_type, - interface => C4::Context->interface, - cash_register => $register_id - } - ); - return { - ok => 1, - pay_response => $pay_response - }; - } + my $pay_response = $account->pay($pay_options); + return { + ok => 1, + pay_response => $pay_response + }; } #sub DESTROY { -- 2.39.5