projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
changes to support new invoice template features, #28080
[freeside.git]
/
FS
/
FS
/
part_pkg
/
voip_cdr.pm
diff --git
a/FS/FS/part_pkg/voip_cdr.pm
b/FS/FS/part_pkg/voip_cdr.pm
index
89dd68c
..
3791e56
100644
(file)
--- a/
FS/FS/part_pkg/voip_cdr.pm
+++ b/
FS/FS/part_pkg/voip_cdr.pm
@@
-12,7
+12,7
@@
use FS::cdr;
use FS::detail_format;
#use FS::rate;
#use FS::rate_prefix;
use FS::detail_format;
#use FS::rate;
#use FS::rate_prefix;
-#use FS::rate_detail;
+#use FS::rate_detail;
#for ::granularities
$DEBUG = 0;
$DEBUG = 0;
@@
-108,19
+108,13
@@
tie my %accountcode_tollfree_field, 'Tie::IxHash',
},
'ratenum' => { 'name' => 'Rate plan',
},
'ratenum' => { 'name' => 'Rate plan',
- 'type' => 'select',
- 'select_table' => 'rate',
- 'select_key' => 'ratenum',
- 'select_label' => 'ratename',
+ 'type' => 'select-rate',
},
'intrastate_ratenum' => { 'name' => 'Optional alternate intrastate rate plan',
},
'intrastate_ratenum' => { 'name' => 'Optional alternate intrastate rate plan',
- 'type' => 'select',
- 'select_table' => 'rate',
- 'select_key' => 'ratenum',
- 'select_label' => 'ratename',
+ 'type' => 'select-rate',
'disable_empty' => 0,
'disable_empty' => 0,
- 'empty_label' => '',
+ 'empty_label' => '
',
},
'calls_included' => { 'name' => 'Number of calls included at no usage charge', },
},
'calls_included' => { 'name' => 'Number of calls included at no usage charge', },
@@
-402,13
+396,15
@@
sub calc_usage {
my $charges = 0;
my $charges = 0;
- my $included_min = $self->option('min_included', 1) || 0; #single price rating
+ my $included_min = $self->option('min_included', 1) || 0;
+ #single price rating
+ #or region group
+
my $included_calls = $self->option('calls_included', 1) || 0;
my $cdr_svc_method = $self->option('cdr_svc_method',1)||'svc_phone.phonenum';
my $rating_method = $self->option('rating_method') || 'prefix';
my $included_calls = $self->option('calls_included', 1) || 0;
my $cdr_svc_method = $self->option('cdr_svc_method',1)||'svc_phone.phonenum';
my $rating_method = $self->option('rating_method') || 'prefix';
- my $region_group_included_min = $self->option('min_included',1) || 0;
- my %region_group_included_min = ();
+ my %detail_included_min = ();
my $output_format = $self->option('output_format', 'Hush!')
|| ( $rating_method eq 'upstream_simple'
my $output_format = $self->option('output_format', 'Hush!')
|| ( $rating_method eq 'upstream_simple'
@@
-418,7
+414,10
@@
sub calc_usage {
my $usage_showzero = $self->option('usage_showzero', 1);
my $usage_showzero = $self->option('usage_showzero', 1);
- my $formatter = FS::detail_format->new($output_format, buffer => $details);
+ my $formatter = FS::detail_format->new($output_format,
+ buffer => $details,
+ locale => $cust_pkg->cust_main->locale
+ );
my $use_duration = $self->option('use_duration');
my $use_duration = $self->option('use_duration');
@@
-466,7
+465,17
@@
sub calc_usage {
#my @invoice_details_sort;
#my @invoice_details_sort;
+ # for tagging invoice details
+ my $phonenum;
+ if ( $svc_table eq 'svc_phone' ) {
+ $phonenum = $svc_x->phonenum;
+ } elsif ( $svc_table eq 'svc_pbx' ) {
+ $phonenum = $svc_x->title;
+ }
+ $formatter->phonenum($phonenum);
+
#first rate any outstanding CDRs not yet rated
#first rate any outstanding CDRs not yet rated
+ # XXX eventually use an FS::Cursor for this
my $cdr_search = $svc_x->psearch_cdrs(%options);
$cdr_search->limit(1000);
$cdr_search->increment(0); # because we're changing their status as we go
my $cdr_search = $svc_x->psearch_cdrs(%options);
$cdr_search->limit(1000);
$cdr_search->increment(0); # because we're changing their status as we go
@@
-476,9
+485,8
@@
sub calc_usage {
'part_pkg' => $self,
'cust_pkg' => $cust_pkg,
'svcnum' => $svc_x->svcnum,
'part_pkg' => $self,
'cust_pkg' => $cust_pkg,
'svcnum' => $svc_x->svcnum,
- 'single_price_included_min' => \$included_min,
- 'region_group_included_min' => \$region_group_included_min,
- 'region_group_included_min_hashref' => \%region_group_included_min,
+ 'plan_included_min' => \$included_min,
+ 'detail_included_min_hashref' => \%detail_included_min,
);
die $error if $error; #??
);
die $error if $error; #??