From 9ae380839b4909a84443232835568a06eb43a64a Mon Sep 17 00:00:00 2001
From: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Date: Thu, 9 Jan 2020 14:14:34 +0000
Subject: [PATCH] Bug 24081: Add DISCOUNT to the allowed 'reduce' types

This patch adds the DISCOUNT type to the handled types list in the
reduce method introduced in bug 23442

Signed-off-by: Michal Denar <black23@gmail.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
---
 Koha/Account/Line.pm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/Koha/Account/Line.pm b/Koha/Account/Line.pm
index d77e3509a1..546fc8457a 100644
--- a/Koha/Account/Line.pm
+++ b/Koha/Account/Line.pm
@@ -291,6 +291,7 @@ debts.
 Reduction type may be one of:
 
 * REFUND
+* DISCOUNT
 
 Returns the reduction accountline (which will be a credit)
 
@@ -339,14 +340,14 @@ sub reduce {
 "Amount to reduce ($params->{amount}) is higher than original amount ($original)"
     ) unless ( $original >= $params->{amount} );
     my $reduced =
-      $self->credits( { credit_type_code => [ 'REFUND' ] } )->total;
+      $self->credits( { credit_type_code => [ 'DISCOUNT', 'REFUND' ] } )->total;
     Koha::Exceptions::ParameterTooHigh->throw( error =>
 "Combined reduction ($params->{amount} + $reduced) is higher than original amount ("
           . abs($original)
           . ")" )
       unless ( $original >= ( $params->{amount} + abs($reduced) ) );
 
-    my $status = { 'REFUND' => 'REFUNDED' };
+    my $status = { 'REFUND' => 'REFUNDED', 'DISCOUNT' => 'DISCOUNTED' };
 
     my $reduction;
     $self->_result->result_source->schema->txn_do(
-- 
2.25.0