summaryrefslogtreecommitdiff
path: root/FS/FS/part_pkg/voip_cdr.pm
diff options
context:
space:
mode:
authorMark Wells <mark@freeside.biz>2016-09-30 12:12:09 -0700
committerMark Wells <mark@freeside.biz>2016-09-30 15:31:05 -0700
commit6dfa4e6c301d65fdecfb6891fe0bb545aabc8d43 (patch)
tree7837d06245f5e6306573f601b59bc6bc7bc265d3 /FS/FS/part_pkg/voip_cdr.pm
parent5dc4f5c7bd581510e6601d8e0a3a2c517e54280f (diff)
show included minutes on invoice, #71455
Diffstat (limited to 'FS/FS/part_pkg/voip_cdr.pm')
-rw-r--r--FS/FS/part_pkg/voip_cdr.pm24
1 files changed, 20 insertions, 4 deletions
diff --git a/FS/FS/part_pkg/voip_cdr.pm b/FS/FS/part_pkg/voip_cdr.pm
index 50ae0af..4b5158e 100644
--- a/FS/FS/part_pkg/voip_cdr.pm
+++ b/FS/FS/part_pkg/voip_cdr.pm
@@ -120,6 +120,10 @@ tie my %accountcode_tollfree_field, 'Tie::IxHash',
'min_included' => { 'name' => 'Minutes included when using the "single price per minute" or "prefix" rating method',
},
+ 'show_min_included' => { 'name' => 'Show included minutes as an invoice detail',
+ 'type' => 'checkbox',
+ },
+
'min_charge' => { 'name' => 'Charge per minute when using "single price per minute" rating method',
},
@@ -325,7 +329,8 @@ tie my %accountcode_tollfree_field, 'Tie::IxHash',
cdr_svc_method
rating_method rounding ratenum intrastate_ratenum
calls_included
- min_charge min_included sec_granularity
+ min_charge min_included show_min_included
+ sec_granularity
ignore_unrateable
default_prefix
disable_src
@@ -401,10 +406,11 @@ sub calc_usage {
my $charges = 0;
- my $included_min = $self->option('min_included', 1) || 0;
+ my $included_min_total = ($self->option('min_included', 1) || 0)
+ * ($cust_pkg->quantity || 1);
#single price rating
#or region group
- $included_min *= ($cust_pkg->quantity || 1);
+ my $included_min_left = $included_min_total;
my $included_calls = $self->option('calls_included', 1) || 0;
$included_calls *= ($cust_pkg->quantity || 1);
@@ -500,7 +506,7 @@ sub calc_usage {
'part_pkg' => $self,
'cust_pkg' => $cust_pkg,
'svcnum' => $svc_x->svcnum,
- 'plan_included_min' => \$included_min,
+ 'plan_included_min' => \$included_min_left,
'detail_included_min_hashref' => \%detail_included_min,
);
die $error if $error; #??
@@ -541,6 +547,16 @@ sub calc_usage {
$formatter->finish; #writes into $details
unshift @$details, $formatter->header if @$details;
+ if ( $self->option_cacheable('show_min_included', 1)
+ and $included_min_total > 0 ) {
+
+ my $min_detail = sprintf('%d / %d ',
+ $included_min_total - $included_min_left,
+ $included_min_total
+ ) . $cust_pkg->mt('included minutes used');
+ unshift @$details, $min_detail;
+ }
+
$charges;
}