summaryrefslogtreecommitdiff
path: root/FS/FS/part_pkg
diff options
context:
space:
mode:
authorivan <ivan>2009-06-18 11:07:04 +0000
committerivan <ivan>2009-06-18 11:07:04 +0000
commit3f812f8ad93a515d3c36c1a11a05391e05922679 (patch)
treea938c6914d323187d5fdf6e3e1912e3a2bedc1de /FS/FS/part_pkg
parent7c4b45d5b4dd70e91c187e7f82fa305c2e420dab (diff)
bulk price plan fix - don't omit setup fee
Diffstat (limited to 'FS/FS/part_pkg')
-rw-r--r--FS/FS/part_pkg/bulk.pm14
1 files changed, 9 insertions, 5 deletions
diff --git a/FS/FS/part_pkg/bulk.pm b/FS/FS/part_pkg/bulk.pm
index 7c81138..1b52d9f 100644
--- a/FS/FS/part_pkg/bulk.pm
+++ b/FS/FS/part_pkg/bulk.pm
@@ -35,6 +35,7 @@ $me = '[FS::part_pkg::bulk]';
'weight' => 50,
);
+#some false laziness-ish w/agent.pm... not a lot
sub calc_recur {
my($self, $cust_pkg, $sdate, $details ) = @_;
@@ -74,20 +75,23 @@ sub calc_recur {
my $svc_end = $h_cust_svc->date_deleted;
$svc_end = ( !$svc_end || $svc_end > $$sdate ) ? $$sdate : $svc_end;
- $svc_charge = $self->option('svc_recur_fee') * ( $svc_end - $svc_start )
- / ( $$sdate - $last_bill );
+ my $recur_charge =
+ $self->option('svc_recur_fee') * ( $svc_end - $svc_start )
+ / ( $$sdate - $last_bill );
- $svc_details .= $money_char. sprintf('%.2f', $svc_charge ).
+ $svc_details .= $money_char. sprintf('%.2f', $recur_charge ).
' ('. time2str('%x', $svc_start).
' - '. time2str('%x', $svc_end ). ')'
- if $self->option('svc_recur_fee');
+ if $recur_charge;
+
+ $svc_charge += $recur_charge;
push @$details, $svc_details;
$total_svc_charge += $svc_charge;
}
- sprintf("%.2f", $self->base_recur($cust_pkg) + $total_svc_charge );
+ sprintf('%.2f', $self->base_recur($cust_pkg) + $total_svc_charge );
}
sub hide_svc_detail {