Bug 15397 - Pay selected does not works as expected
authorKyle M Hall <kyle@bywatersolutions.com>
Thu, 19 May 2016 13:28:02 +0000 (13:28 +0000)
committerKyle M Hall <kyle@bywatersolutions.com>
Mon, 1 Aug 2016 10:49:31 +0000 (10:49 +0000)
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 <josef.moravec@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
C4/Accounts.pm

index 5243712..485e453 100644 (file)
@@ -606,7 +606,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';