From f064b8593fa93cd8c55618c63d6bba4a0c542cbf Mon Sep 17 00:00:00 2001 From: Mark Wells Date: Wed, 30 Apr 2014 17:32:31 -0700 Subject: [PATCH 1/1] option to hide CDR price in selfservice, #27186 --- FS/FS/ClientAPI/MyAccount.pm | 10 +++++++++- FS/FS/Conf.pm | 7 +++++++ 2 files changed, 16 insertions(+), 1 deletion(-) 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', -- 2.20.1