diff options
author | levinse <levinse> | 2011-05-05 06:56:02 +0000 |
---|---|---|
committer | levinse <levinse> | 2011-05-05 06:56:02 +0000 |
commit | bbe46676581f5d6042ec11be96f3d0b2acf10406 (patch) | |
tree | c68b54d2530ac172d27d9c888b82a61fa90863bc | |
parent | 762d6f0c5dce007d3e539d56c4a79602dcc8d4dc (diff) |
self-service view usage customization and CDR display fixes, RT11761
-rw-r--r-- | FS/FS/ClientAPI/MyAccount.pm | 5 | ||||
-rw-r--r-- | FS/FS/Conf.pm | 7 | ||||
-rw-r--r-- | FS/FS/cdr.pm | 11 | ||||
-rw-r--r-- | fs_selfservice/FS-SelfService/cgi/view_cdr_details.html | 1 | ||||
-rw-r--r-- | fs_selfservice/FS-SelfService/cgi/view_usage.html | 4 |
5 files changed, 21 insertions, 7 deletions
diff --git a/FS/FS/ClientAPI/MyAccount.pm b/FS/FS/ClientAPI/MyAccount.pm index 1e060f76b..54e5e7221 100644 --- a/FS/FS/ClientAPI/MyAccount.pm +++ b/FS/FS/ClientAPI/MyAccount.pm @@ -1085,6 +1085,7 @@ sub list_svcs { { 'svcnum' => $session->{'svcnum'}, 'custnum' => $custnum, + 'view_usage_nodomain' => $conf->exists('selfservice-view_usage_nodomain'), 'svcs' => [ map { my $svc_x = $_->svc_x; @@ -1175,8 +1176,8 @@ sub list_support_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 { diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index e64f8282a..d2641d22a 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -3837,6 +3837,13 @@ and customer address. Include units.', 'type' => 'image', 'per_agent' => 1, }, + + { + 'key' => 'selfservice-view_usage_nodomain', + 'section' => 'self-service', + 'description' => 'Show usernames without their domains in "View my usage" in the self-service interface.', + 'type' => 'checkbox', + }, { 'key' => 'selfservice-bulk_format', diff --git a/FS/FS/cdr.pm b/FS/FS/cdr.pm index 3157b6b60..0107659a8 100644 --- a/FS/FS/cdr.pm +++ b/FS/FS/cdr.pm @@ -560,11 +560,11 @@ sub export_formats { my $duration_sub = sub { my($cdr, %opt) = @_; my $sec = $opt{seconds} || $cdr->billsec; - if ( length($opt{granularity}) && + if ( defined $opt{granularity} && $opt{granularity} == 0 ) { #per call return '1 call'; } - elsif ( $opt{granularity} == 60 ) {#full minutes + elsif ( defined $opt{granularity} && $opt{granularity} == 60 ) {#full minutes my $min = int($sec/60); $min++ if $sec%60; return $min.'m'; @@ -620,7 +620,10 @@ sub export_formats { $duration_sub, #PRICE - sub { my($cdr, %opt) = @_; $opt{money_char}. $opt{charge}; }, + sub { my($cdr, %opt) = @_; + $opt{charge} = '0.00' unless defined $opt{charge}; + $opt{money_char}.$opt{charge}; + }, ], ); @@ -660,6 +663,8 @@ sub downstream_csv { } @{ $formats{$format} }; + return @columns if defined $opt{'keeparray'}; + my $status = $csv->combine(@columns); die "FS::CDR: error combining ". $csv->error_input(). "into downstream CSV" unless $status; diff --git a/fs_selfservice/FS-SelfService/cgi/view_cdr_details.html b/fs_selfservice/FS-SelfService/cgi/view_cdr_details.html index 6d4d8475e..620fa2218 100644 --- a/fs_selfservice/FS-SelfService/cgi/view_cdr_details.html +++ b/fs_selfservice/FS-SelfService/cgi/view_cdr_details.html @@ -50,5 +50,4 @@ </TABLE> <BR> -</TD></TR></TABLE> <%= include('footer') %> diff --git a/fs_selfservice/FS-SelfService/cgi/view_usage.html b/fs_selfservice/FS-SelfService/cgi/view_usage.html index 69437632b..74e27af6a 100644 --- a/fs_selfservice/FS-SelfService/cgi/view_usage.html +++ b/fs_selfservice/FS-SelfService/cgi/view_usage.html @@ -26,8 +26,10 @@ <%= foreach my $svc ( @svc_acct ) { my $link = "${url}view_usage_details;". "svcnum=$svc->{'svcnum'};beginning=0;ending=0"; + my $username = $svc->{'value'}; + $username =~ s/@.*?$//g if $view_usage_nodomain; $OUT .= '<TR><TD>'; - $OUT .= qq!<A HREF="$link">!. $svc->{'label'}. ': '. $svc->{'value'}.'</A>'; + $OUT .= qq!<A HREF="$link">!. $svc->{'label'}. ': '. $username .'</A>'; $OUT .= '</TD><TD ALIGN="right">'; $OUT .= $svc->{'seconds'}; $OUT .= '</TD><TD ALIGN="right">'; |