From: Mark Wells Date: Thu, 1 May 2014 00:32:31 +0000 (-0700) Subject: option to hide CDR price in selfservice, #27186 X-Git-Url: http://git.freeside.biz/gitweb/?a=commitdiff_plain;h=f064b8593fa93cd8c55618c63d6bba4a0c542cbf;p=freeside.git option to hide CDR price in selfservice, #27186 --- diff --git a/FS/FS/ClientAPI/MyAccount.pm b/FS/FS/ClientAPI/MyAccount.pm index 81bc7a59b..5b590da2b 100644 --- a/FS/FS/ClientAPI/MyAccount.pm +++ b/FS/FS/ClientAPI/MyAccount.pm @@ -2117,6 +2117,7 @@ sub list_cdr_usage { sub _usage_details { my($callback, $p, %opt) = @_; + my $conf = FS::Conf->new; my($context, $session, $custnum) = _custoragent_session_custnum($p); return { 'error' => $session } if $context eq 'error'; @@ -2135,7 +2136,6 @@ sub _usage_details { my %callback_opt; my $header = []; if ( $svcdb eq 'svc_phone' ) { - my $conf = FS::Conf->new; my $format = ''; if ( $p->{inbound} ) { $format = $cust_pkg->part_pkg->option('selfservice_inbound_format') @@ -2169,6 +2169,14 @@ sub _usage_details { %callback_opt ); + if ( $conf->exists('selfservice-hide_cdr_price') ) { + # ugly kludge, I know + my ($delete_col) = grep { $header->[$_] eq 'Price' } (0..scalar(@$header)); + if (defined $delete_col) { + delete($_->[$delete_col]) foreach ($header, @usage); + } + } + #kinda false laziness with FS::cust_main::bill, but perhaps #we should really change this bit to DateTime and DateTime::Duration # diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index 8eeec0beb..d9a13fe91 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -5588,6 +5588,13 @@ and customer address. Include units.', 'select_hash' => \@cdr_formats, }, + { + 'key' => 'selfservice-hide_cdr_price', + 'section' => 'self-service', + 'description' => 'Don\'t show the "Price" column on CDRs in self-service.', + 'type' => 'checkbox', + }, + { 'key' => 'logout-timeout', 'section' => 'UI',