[freeside-commits] freeside/FS/FS/ClientAPI MyAccount.pm, 1.172, 1.173
Mark Wells
mark at wavetail.420.am
Mon Dec 19 15:16:30 PST 2011
Update of /home/cvs/cvsroot/freeside/FS/FS/ClientAPI
In directory wavetail.420.am:/tmp/cvs-serv15284/FS/FS/ClientAPI
Modified Files:
MyAccount.pm
Log Message:
use detail formats to show CDRs in selfservice, #14923
Index: MyAccount.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/ClientAPI/MyAccount.pm,v
retrieving revision 1.172
retrieving revision 1.173
diff -u -w -d -r1.172 -r1.173
--- MyAccount.pm 29 Nov 2011 21:57:40 -0000 1.172
+++ MyAccount.pm 19 Dec 2011 23:16:28 -0000 1.173
@@ -1716,8 +1716,9 @@
}
sub _list_cdr_usage {
- my($svc_phone, $begin, $end) = @_;
- map [ $_->downstream_csv('format' => 'default', 'keeparray' => 1) ], #XXX config for format
+ # XXX CDR type support...
+ my($svc_phone, $begin, $end, %opt) = @_;
+ map [ $_->downstream_csv(%opt, 'keeparray' => 1) ],
$svc_phone->get_cdrs( 'begin'=>$begin, 'end'=>$end, );
}
@@ -1743,12 +1744,26 @@
return { 'error' => 'No service selected in list_svc_usage' }
unless $svc_x;
- my $header = $svcdb eq 'svc_phone'
- ? [ split(',', FS::cdr::invoice_header('default') ) ] #XXX
- : [];
-
my $cust_pkg = $svc_x->cust_svc->cust_pkg;
my $freq = $cust_pkg->part_pkg->freq;
+ my %callback_opt;
+ my $header = [];
+ if ( $svcdb eq 'svc_phone' ) {
+ my $format = $cust_pkg->part_pkg->option('output_format') || '';
+ $format = '' if $format =~ /^sum_/;
+ # sensible default if there is no format or it's a summary format
+ if ( $cust_pkg->part_pkg->plan eq 'voip_inbound' ) {
+ $format ||= 'source_default';
+ $callback_opt{inbound} = 1;
+ }
+ else {
+ $format ||= 'default';
+ }
+
+ $callback_opt{format} = $format;
+ $header = [ split(',', FS::cdr::invoice_header($format) ) ];
+ }
+
my $start = $cust_pkg->setup;
#my $end = $cust_pkg->bill; # or time?
my $end = time;
@@ -1758,7 +1773,9 @@
$p->{ending} = $end;
}
- my (@usage) = &$callback($svc_x, $p->{beginning}, $p->{ending});
+ my (@usage) = &$callback($svc_x, $p->{beginning}, $p->{ending},
+ %callback_opt
+ );
#kinda false laziness with FS::cust_main::bill, but perhaps
#we should really change this bit to DateTime and DateTime::Duration
More information about the freeside-commits
mailing list