From 19045b18ba6413064a82c5453ac62125b3bb73f4 Mon Sep 17 00:00:00 2001 From: Ivan Kohler Date: Tue, 19 Feb 2013 13:07:54 -0800 Subject: [PATCH] config setting to disable menu entries in self-service, RT#14866 --- FS/FS/ClientAPI/MyAccount.pm | 1 + FS/FS/Conf.pm | 25 ++++++++++++++++++++++ .../FS-SelfService/cgi/myaccount_menu.html | 8 ++++--- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/FS/FS/ClientAPI/MyAccount.pm b/FS/FS/ClientAPI/MyAccount.pm index 789e370d7..faf377874 100644 --- a/FS/FS/ClientAPI/MyAccount.pm +++ b/FS/FS/ClientAPI/MyAccount.pm @@ -121,6 +121,7 @@ sub skin_info { font title_color title_align title_size menu_bgcolor menu_fontsize ) ), + 'menu_disable' => [ $conf->config('selfservice-menu_disable',$agentnum) ], ( map { $_ => $conf->exists("selfservice-$_", $agentnum ) } qw( menu_skipblanks menu_skipheadings menu_nounderline no_logo ) ), diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index af2fcf596..65da63100 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -4491,6 +4491,31 @@ and customer address. Include units.', }, { + 'key' => 'selfservice-menu_disable', + 'section' => 'self-service', + 'description' => 'Disable the selected menu entries in the self-service menu', + 'type' => 'selectmultiple', + 'select_enum' => [ #false laziness w/myaccount_menu.html + 'Overview', + 'Purchase', + 'Purchase additional package', + 'Recharge my account with a credit card', + 'Recharge my account with a check', + 'Recharge my account with a prepaid card', + 'View my usage', + 'Create a ticket', + 'Setup my services', + 'Change my information', + 'Change billing address', + 'Change service address', + 'Change payment information', + 'Change password(s)', + 'Logout', + ], + 'per_agent' => 1, + }, + + { 'key' => 'selfservice-menu_skipblanks', 'section' => 'self-service', 'description' => 'Skip blank (spacer) entries in the self-service menu', diff --git a/fs_selfservice/FS-SelfService/cgi/myaccount_menu.html b/fs_selfservice/FS-SelfService/cgi/myaccount_menu.html index c7d2bb2aa..4a31b1258 100644 --- a/fs_selfservice/FS-SelfService/cgi/myaccount_menu.html +++ b/fs_selfservice/FS-SelfService/cgi/myaccount_menu.html @@ -88,11 +88,13 @@ push @menu, { title=>'Logout', url=>'logout', size=>'+1', }, ; +my %menu_disable = map { $_=>1 } @menu_disable; foreach my $item ( @menu ) { - next if $menu_skipblanks && $item->{'title'} =~ /^\s*$/; - next if $menu_skipheadings && ! $item->{'url'}; - + next if ( $menu_skipblanks && $item->{'title'} =~ /^\s*$/ ) + || ( $menu_skipheadings && ! $item->{'url'} ) + || $menu_disable{$item->{'title'}}; + $OUT .= '{'url'} && $action eq $item->{'url'} ) { -- 2.11.0