From 45e9592eb5ed07809a178d9ae1eaed21bea07a13 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Thu, 19 May 2016 13:28:02 +0000 Subject: [PATCH] Bug 15397 - Pay selected does not works as expected MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit When patron has more fees (account lines) and you wan't to pay just some of them, you select wanted lines a click on "pay selected" button. But the fine isn't paid, the "amountoutstandig" is not modified, but it is added new line with "pay" code an with amountoutstanding below zero. Paying one or all fine works as expected. Paying selected worked some time ago, but I don't know when it stopped working, we realize it after upgrade to 3.22. Test Plan: 1) Apply this patch 2) Pay fines using "Pay selected" 3) Note the payment and the fees outstanding balances are reduced! Signed-off-by: Josef Moravec Signed-off-by: Jonathan Druart Signed-off-by: Jonathan Druart Signed-off-by: Kyle M Hall (cherry picked from commit 537adde2d2f65ed9bb9a03a127b9906930d46353) Signed-off-by: Frédéric Demians (cherry picked from commit c0e2610bda62b3890fd5416124bc9c1157c23d4d) Signed-off-by: Julian Maurice --- C4/Accounts.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/C4/Accounts.pm b/C4/Accounts.pm index 4f5f8d445c..d0ddcc429e 100644 --- a/C4/Accounts.pm +++ b/C4/Accounts.pm @@ -608,7 +608,7 @@ sub recordpayment_selectaccts { my $sql = 'SELECT * FROM accountlines WHERE (borrowernumber = ?) ' . 'AND (amountoutstanding<>0) '; if (@{$accts} ) { - $sql .= ' AND accountno IN ( ' . join ',', @{$accts}; + $sql .= ' AND accountlines_id IN ( ' . join ',', @{$accts}; $sql .= ' ) '; } $sql .= ' ORDER BY date'; -- 2.39.5