From e11e74e2b4680166624d06a13280342770664c4c Mon Sep 17 00:00:00 2001 From: ivan Date: Mon, 27 Jun 2011 21:27:36 +0000 Subject: [PATCH] fix over-discounting resulting in an error, RT#13450 --- FS/FS/part_pkg/discount_Mixin.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/FS/FS/part_pkg/discount_Mixin.pm b/FS/FS/part_pkg/discount_Mixin.pm index a789ab309..87ec3a708 100644 --- a/FS/FS/part_pkg/discount_Mixin.pm +++ b/FS/FS/part_pkg/discount_Mixin.pm @@ -130,11 +130,12 @@ sub calc_discount { && ! defined $param->{'setup_charge'}); die "error discounting: $error" if $error; + $amount = min($amount, $br); $amount *= $months; $amount = sprintf('%.2f', $amount); next unless $amount > 0; - + # transfer remainder of discount, if any, to setup if ( $discount->setup && $discount->amount && (!$discount->months || $discount->months != 1) -- 2.11.0