make CDR invoice details appear chronologically on invoices, for voip_cdr, RT10960
authorlevinse <levinse>
Fri, 14 Jan 2011 20:08:18 +0000 (20:08 +0000)
committerlevinse <levinse>
Fri, 14 Jan 2011 20:08:18 +0000 (20:08 +0000)
FS/FS/part_pkg/voip_cdr.pm

index 5dbd115..3996b8b 100644 (file)
@@ -385,6 +385,8 @@ sub calc_usage {
       );  # $last_bill, $$sdate )
     $options{'by_svcnum'} = 1 if $svc_field eq 'svcnum';
 
+    my @invoice_details_sort;
+
     foreach my $cdr (
       $svc_x->get_cdrs( %options )
     ) {
@@ -743,7 +745,7 @@ sub calc_usage {
           warn "  adding details on charge to invoice: [ ".
               join(', ', @{$call_details} ). " ]"
             if ( $DEBUG && ref($call_details) );
-          push @$details, $call_details; #\@call_details,
+          push @invoice_details_sort, [ $call_details, $cdr->calldate_unix ];
         }
 
         # if the customer flag is on, call "downstream_csv" or something
@@ -761,6 +763,11 @@ sub calc_usage {
       }
 
     } # $cdr
+    my @sorted_invoice_details = sort { @{$a}[1] <=> @{$b}[1] } @invoice_details_sort;
+    foreach my $sorted_call_detail ( @sorted_invoice_details ) {
+        push @$details, @{$sorted_call_detail}[0];
+    }
 
   } # $cust_svc