X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fconfig%2Fconfig-delete.cgi;h=488886824c67ae6350381e272171ff33c356f54c;hb=0fb307c305e4bc2c9c27dc25a3308beae3a4d33c;hp=ffeae787749ec3483e1903f9d0e8254bbbc5f34e;hpb=b19bf30f0d745d20e5e4f0a8e47ce16a04b02dd9;p=freeside.git diff --git a/httemplate/config/config-delete.cgi b/httemplate/config/config-delete.cgi index ffeae7877..488886824 100644 --- a/httemplate/config/config-delete.cgi +++ b/httemplate/config/config-delete.cgi @@ -1,6 +1,17 @@ <%init> -die "access denied\n" - unless $FS::CurrentUser::CurrentUser->access_right('Configuration'); + +my $curuser = $FS::CurrentUser::CurrentUser; +die "access denied\n" unless $curuser->access_right('Configuration'); + +my $fsconf = new FS::Conf; +if ( $fsconf->exists('disable_settings_changes') ) { + my @changers = split(/\s*,\s*/, $fsconf->config('disable_settings_changes')); + my %changers = map { $_=>1 } @changers; + unless ( $changers{$curuser->username} ) { + errorpage("Disabled in web demo"); + die "shouldn't be reached"; + } +} $cgi->param('confnum') =~ /^(\d+)$/ or die "illegal or missing confnum"; my $confnum = $1; @@ -10,8 +21,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'; }