X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fconfig%2Fconfig-view.cgi;h=bca1f160356c1c0411a8df18d09e383dbf5e1e82;hb=9509e5bfb7f9331303153cac24d7bfecbe2ea9f1;hp=ff7913d780571e1d517d108dfbbd5625ed9285aa;hpb=c8cccb4a92adceb943c635fe62dad0d034462ce0;p=freeside.git diff --git a/httemplate/config/config-view.cgi b/httemplate/config/config-view.cgi index ff7913d78..bca1f1603 100644 --- a/httemplate/config/config-view.cgi +++ b/httemplate/config/config-view.cgi @@ -1,7 +1,22 @@ - -<% include("/elements/header.html",'View Configuration', menubar( 'Main Menu' => $p, - 'Edit Configuration' => 'config.cgi' ) ) %> -% my $conf = new FS::Conf; my @config_items = $conf->config_items; +<% include("/elements/header.html", + $title, + menubar( + 'Main Menu' => $p, + 'View all agents' => $p.'browse/agent.cgi', + ) + ) +%> + + + + + + +% if ($FS::UID::use_confcompat) { + + CONFIGURATION NOT STORED IN DATABASE -- USING COMPATIBILITY MODE

+%} +% % foreach my $section ( qw(required billing username password UI session % shell BIND % ), @@ -23,7 +38,7 @@ % }
- <% table("#cccccc", 2) %> + <% include('/elements/table.html', '#cccccc' ) %> <% ucfirst($section || 'unclassified') %> configuration options @@ -32,9 +47,9 @@ % foreach my $i (grep $_->section eq $section, @config_items) { - - <% $i->key %> - <% $i->description %> - + + <% $i->key %> - <% $i->description %> + % foreach my $type ( ref($i->type) ? @{$i->type} : $i->type ) { % my $n = 0; @@ -43,6 +58,14 @@ +% } elsif ( $type eq 'binary' ) { + + + <% $conf->exists($i->key, $agentnum) + ? qq!download! + : 'empty' + %> + % } elsif ( $type eq 'textarea' % || $type eq 'editlist' % || $type eq 'selectmultiple' ) { @@ -50,27 +73,27 @@ % } elsif ( $type eq 'checkbox' ) { - + % } elsif ( $type eq 'text' || $type eq 'select' ) { % } elsif ( $type eq 'select-sub' ) { % } else { @@ -90,3 +113,30 @@ +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Configuration'); + +my $agentnum = ''; +if ($cgi->param('agentnum') =~ /^(\d+)$/) { + $agentnum = $1; +} + +my $title; +if ($agentnum) { + my $agent = qsearchs('agent', { 'agentnum' => $agentnum } ); + die "Agent $agentnum not found!" unless $agent; + + $title = "Configuration for ". $agent->agent; +} else { + $title = 'Global Configuration'; +} + +my $conf = new FS::Conf; + +my @config_items = grep { $agentnum ? $_->per_agent : 1 } + grep { $_->key != ~/^invoice_(html|latex|template)/ } + $conf->config_items; + +
no type
-<% encode_entities(join("\n", $conf->config($i->key) ) ) %>
+<% encode_entities(join("\n", $conf->config($i->key, $agentnum) ) ) %>
 
YES' : 'ff0000">NO' %>YES' : 'ff0000">NO' %>
- <% $conf->exists($i->key) ? $conf->config($i->key) : '' %> + <% $conf->exists($i->key, $agentnum) ? $conf->config($i->key, $agentnum) : '' %>
- <% $conf->config($i->key) %>: - <% &{ $i->option_sub }( $conf->config($i->key) ) %> + <% $conf->config($i->key, $agentnum) %>: + <% &{ $i->option_sub }( $conf->config($i->key, $agentnum) ) %>