summaryrefslogtreecommitdiff
path: root/FS/FS/cust_bill.pm
diff options
context:
space:
mode:
authorlevinse <levinse>2011-02-22 21:18:20 +0000
committerlevinse <levinse>2011-02-22 21:18:20 +0000
commit57e997e6cb5137fccbba8f9693d77ef2ff32245c (patch)
tree846fdf89d39f775d47129772b1a6502e70fbf0b0 /FS/FS/cust_bill.pm
parent0ddf634cbf23e98456e15c9fa4ac63246e62572f (diff)
invoice customizations, RT11467
Diffstat (limited to 'FS/FS/cust_bill.pm')
-rw-r--r--FS/FS/cust_bill.pm22
1 files changed, 17 insertions, 5 deletions
diff --git a/FS/FS/cust_bill.pm b/FS/FS/cust_bill.pm
index 2da7ee3..6e48c0c 100644
--- a/FS/FS/cust_bill.pm
+++ b/FS/FS/cust_bill.pm
@@ -4192,6 +4192,9 @@ sub _items_svc_phone_sections {
# this only works with Latex
my @newlines;
my @newsections;
+
+ # after this, we'll have only two sections per DID:
+ # Calls Summary and Calls Detail
foreach my $section ( @sections ) {
if($section->{'post_total'}) {
$section->{'description'} = 'Calls Summary: '.$section->{'phonenum'};
@@ -4214,8 +4217,11 @@ sub _items_svc_phone_sections {
push @newsections, \%calls_detail;
}
}
+
+ # after this, each usage class is collapsed/summarized into a single
+ # line under the Calls Summary section
foreach my $newsection ( @newsections ) {
- if($newsection->{'post_total'}) {
+ if($newsection->{'post_total'}) { # this means Calls Summary
foreach my $section ( @sections ) {
next unless ($section->{'phonenum'} eq $newsection->{'phonenum'}
&& !$section->{'post_total'});
@@ -4237,21 +4243,27 @@ sub _items_svc_phone_sections {
}
}
}
+
+ # after this, Calls Details is populated with all CDRs
foreach my $newsection ( @newsections ) {
- if(!$newsection->{'post_total'}) {
+ if(!$newsection->{'post_total'}) { # this means Calls Details
foreach my $line ( @lines ) {
next unless (scalar(@{$line->{'ext_description'}}) &&
$line->{'section'}->{'phonenum'} eq $newsection->{'phonenum'}
);
my @extdesc = @{$line->{'ext_description'}};
- my $extdesc = $extdesc[0];
- $extdesc =~ s/scriptsize/normalsize/g if $format eq 'latex';
- $line->{'ext_description'} = [ $extdesc ];
+ my @newextdesc;
+ foreach my $extdesc ( @extdesc ) {
+ $extdesc =~ s/scriptsize/normalsize/g if $format eq 'latex';
+ push @newextdesc, $extdesc;
+ }
+ $line->{'ext_description'} = \@newextdesc;
$line->{'section'} = $newsection;
push @newlines, $line;
}
}
}
+
return(\@newsections, \@newlines);
}