projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
discounts with bulk packages, RT#24655
[freeside.git]
/
FS
/
FS
/
part_pkg
/
bulk_Common.pm
diff --git
a/FS/FS/part_pkg/bulk_Common.pm
b/FS/FS/part_pkg/bulk_Common.pm
index
f8f0ab8
..
ede2fef
100644
(file)
--- a/
FS/FS/part_pkg/bulk_Common.pm
+++ b/
FS/FS/part_pkg/bulk_Common.pm
@@
-23,10
+23,6
@@
$me = '[FS::part_pkg::bulk_Common]';
'instead of a detailed list',
'type' => 'checkbox',
},
'instead of a detailed list',
'type' => 'checkbox',
},
- 'no_prorate' => { 'name' => 'Don\'t prorate recurring fees on services '.
- 'active for a partial month',
- 'type' => 'checkbox',
- },
},
'fieldorder' => [ 'svc_setup_fee', 'svc_recur_fee',
'summarize_svcs', 'no_prorate' ],
},
'fieldorder' => [ 'svc_setup_fee', 'svc_recur_fee',
'summarize_svcs', 'no_prorate' ],
@@
-51,7
+47,7
@@
sub price_info {
#some false laziness-ish w/agent.pm... not a lot
sub calc_recur {
#some false laziness-ish w/agent.pm... not a lot
sub calc_recur {
- my($self, $cust_pkg, $sdate, $details ) = @_;
+ my($self, $cust_pkg, $sdate, $details
, $param
) = @_;
my $conf = new FS::Conf;
my $money_char = $conf->config('money_char') || '$';
my $conf = new FS::Conf;
my $money_char = $conf->config('money_char') || '$';
@@
-104,10
+100,13
@@
sub calc_recur {
}
}
}
}
- sprintf('%.2f', $self->base_recur($cust_pkg, $sdate) + $total_svc_charge );
-}
+ my $charge = $self->base_recur($cust_pkg, $sdate) + $total_svc_charge;
-sub can_discount { 0; }
+ $param->{'override_charges'} = $total_svc_charge / $self->freq;
+ my $discount = $self->calc_discount($cust_pkg, $sdate, $details, $param);
+
+ sprintf('%.2f', $charge - $discount );
+}
sub hide_svc_detail { 1; }
sub hide_svc_detail { 1; }