projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
RT# 75680 - telapi_voip cdr csv import
[freeside.git]
/
FS
/
FS
/
discount_plan.pm
diff --git
a/FS/FS/discount_plan.pm
b/FS/FS/discount_plan.pm
index
4f97e33
..
6a45676
100644
(file)
--- a/
FS/FS/discount_plan.pm
+++ b/
FS/FS/discount_plan.pm
@@
-63,7
+63,7
@@
sub new {
my $recur = $cust_bill_pkg->recur || 0;
if ( $freq eq '1' ) { # monthly recurring package
my $recur = $cust_bill_pkg->recur || 0;
if ( $freq eq '1' ) { # monthly recurring package
- my $permonth = $part_pkg->base_recur_permonth || 0;
+ my $permonth = $part_pkg->base_recur_permonth
($cust_pkg)
|| 0;
my ($discount) = grep { $_->months == $months }
map { $_->discount } $part_pkg->part_pkg_discount;
my ($discount) = grep { $_->months == $months }
map { $_->discount } $part_pkg->part_pkg_discount;
@@
-80,19
+80,24
@@
sub new {
$self->{discounted} += $setup;
}
$self->{discounted} += $setup;
}
- if ( $discount->percent ) {
+ if ( $discount->percent
> 0
) {
$discountable += $months * $permonth;
$discountable -= ($discountable * $discount->percent / 100);
$discountable -= ($permonth - $recur); # correct for prorate
$self->{discounted} += $discountable;
}
$discountable += $months * $permonth;
$discountable -= ($discountable * $discount->percent / 100);
$discountable -= ($permonth - $recur); # correct for prorate
$self->{discounted} += $discountable;
}
- els
e
{
+ els
if ( $discount->amount > 0 )
{
$discountable += $recur;
$discountable -= $discount->amount * $recur/$permonth;
$discountable += ($months - 1) * max($permonth - $discount->amount,0);
$discountable += $recur;
$discountable -= $discount->amount * $recur/$permonth;
$discountable += ($months - 1) * max($permonth - $discount->amount,0);
+ $self->{discounted} += $discountable;
+ }
+ else {
+ warn "discountnum ".$discount->discountnum.
+ " has no amount or percentage, ignored\n";
+ $self->{discounted} = $self->{base};
}
}
- $self->{discounted} += $discountable;
push @{ $self->{pkgnums} }, $cust_pkg->pkgnum;
}
else { #no discount
push @{ $self->{pkgnums} }, $cust_pkg->pkgnum;
}
else { #no discount