#@svc_x = sort { $a->domain cmp $b->domain || $a->username cmp $b->username }
# @svc_x;
+ my $conf = new FS::Conf;
+
{
'svcnum' => $session->{'svcnum'},
'custnum' => $custnum,
+ 'date_format' => $conf->config('date_format') || '%m/%d/%Y',
+ 'view_usage_nodomain' => $conf->exists('selfservice-view_usage_nodomain'),
'svcs' => [
map {
my $svc_x = $_->svc_x;
# more...
);
- } elsif ( $svcdb eq 'svc_phone' ) {
+ } elsif ( $svcdb eq 'svc_phone' || $svcdb eq 'svc_port' ) {
%hash = (
%hash,
);
}
+sub port_graph {
+ my $p = shift;
+ _usage_details( \&_port_graph, $p,
+ 'svcdb' => 'svc_port',
+ );
+}
+
+sub _port_graph {
+ my($svc_port, $begin, $end) = @_;
+ my @usage = ();
+ my $pngOrError = $svc_port->graph_png( start=>$begin, end=> $end );
+ push @usage, { 'png' => $pngOrError };
+ (@usage);
+}
+
sub _list_svc_usage {
my($svc_acct, $begin, $end) = @_;
my @usage = ();
sub _list_cdr_usage {
my($svc_phone, $begin, $end) = @_;
- map [ $_->downstream_csv('format' => 'default') ], #XXX config for format
- $svc_phone->get_cdrs( 'begin'=>$begin, 'end'=>$end, );
+ map [ $_->downstream_csv('format' => 'default', 'keeparray' => 1) ], #XXX config for format
+ $svc_phone->get_cdrs( 'begin'=>$begin, 'end'=>$end, );
}
sub list_cdr_usage {