From 53cadf47dea115cf804d07beb58c7de67429873f Mon Sep 17 00:00:00 2001 From: ivan Date: Sun, 3 May 2009 01:11:50 +0000 Subject: [PATCH] add ability to remove suffix-ed config items, RT#5218 --- FS/FS/Conf.pm | 12 +++++++----- httemplate/config/config-delete.cgi | 4 +++- httemplate/config/config-view.cgi | 12 ++++++++++-- 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index cf4c43908..d3bd81762 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -92,6 +92,7 @@ sub _usecompat { $compat->$method(@_); } +# needs a non _ name, called externally by config-view now (and elsewhere?) sub _config { my($self,$name,$agentnum)=@_; my $hashref = { 'name' => $name }; @@ -451,11 +452,12 @@ sub _orbase_items { die "don't know about $base items" unless $proto->key eq $base; map { new FS::ConfItem { - 'key' => $_, - 'section' => $proto->section, - 'description' => 'Alternate ' . $proto->description . ' See the billing documentation for details.', - 'type' => $proto->type, - }; + 'key' => $_, + 'base_key' => $proto->key, + 'section' => $proto->section, + 'description' => 'Alternate ' . $proto->description . ' See the billing documentation for details.', + 'type' => $proto->type, + }; } &$listmaker($base); } @base_items, ); diff --git a/httemplate/config/config-delete.cgi b/httemplate/config/config-delete.cgi index ffeae7877..a05cb1e14 100644 --- a/httemplate/config/config-delete.cgi +++ b/httemplate/config/config-delete.cgi @@ -10,8 +10,10 @@ die "Configuration not found!" unless $conf; $conf->delete; my $redirect = popurl(2); -if ( $cgi->param('redirect') eq 'config_view' ) { +if ( $cgi->param('redirect') eq 'config_view_showagent' ) { $redirect .= 'config/config-view.cgi?showagent=1#'. $conf->name; +} elsif ( $cgi->param('redirect') eq 'config_view' ) { + $redirect .= 'config/config-view.cgi'; } else { $redirect .= 'browse/agent.cgi'; } diff --git a/httemplate/config/config-view.cgi b/httemplate/config/config-view.cgi index aca37f2ad..9b5b13251 100644 --- a/httemplate/config/config-view.cgi +++ b/httemplate/config/config-view.cgi @@ -97,7 +97,16 @@ Click on a configuration value to change it. ) %>: <% $i->description %> % if ( $agent && $cgi->param('showagent') ) { - (delete agent override) +% my $confnum = +% _config_agentonly($conf, $i->key, $agent->agentnum)->confnum; + (delete agent override) +% } elsif ( $i->base_key ) { +% my $confnum = +% $agent +% ? _config_agentonly($conf, $i->key, $agent->agentnum)->confnum +% : $conf->_config( $i->key )->confnum; +% my $showagent = $cgi->param('showagent') ? '_showagent' : ''; + (delete configuration item) % } @@ -308,7 +317,6 @@ if ($cgi->param('agentnum') =~ /^(\d+)$/) { my $conf = new FS::Conf; my @config_items = grep { $page_agent ? $_->per_agent : 1 } - grep { $_->key != ~/^invoice_(html|latex|template)/ } $conf->config_items; my @sections = qw(required billing username password UI session shell BIND ); -- 2.11.0