% }
%
%} else {
-<% header('Configuration set') %>
+<& /elements/header-popup.html, 'Configuration set' &>
<SCRIPT TYPE="text/javascript">
% my $n = 0;
% foreach my $type ( ref($i->type) ? @{$i->type} : $i->type ) {
'</pre></font>';
% } elsif ( $type eq 'checkbox' ) {
-% if ( $conf->exists($i->key, $agentnum) ) {
+% if ( $conf->config_bool($i->key, $agentnum) ) {
configCell.style.backgroundColor = '#00ff00';
configCell.innerHTML = 'YES';
% } else {
% } elsif ( $type eq 'text' || $type eq 'select' ) {
configCell.innerHTML = <% $conf->exists($i->key, $agentnum) ? $conf->config($i->key, $agentnum) : '' |js_string %>;
-% } elsif ( $type =~ /^select-(part_svc|part_pkg|pkg_class)$/ && ! $i->multiple ) {
+% } elsif ( $type =~ /^select-(part_svc|part_pkg|pkg_class|agent)$/ && ! $i->multiple ) {
% my $table = $1;
% my $namecol = $namecol{$table};
% my $pkey = dbdef->table($table)->primary_key;
configCell.innerHTML = <% $value |js_string %>;
% } elsif ( $type eq 'select-sub' && ! $i->multiple ) {
configCell.innerHTML =
- <% $conf->config($i->key, $agentnum) |js_string %> + ': ' +
+ <% $conf->exists($i->key, $agentnum) ? $conf->config($i->key, $agentnum) : '' |js_string %> + ': ' +
<% &{ $i->option_sub }( $conf->config($i->key, $agentnum) ) |js_string %>;
% } else {
//alert('unknown type <% $type %>');
'part_svc' => 'svc',
'part_pkg' => 'pkg',
'pkg_class' => 'classname',
+ 'agent' => 'agent',
);
</%once>
<%init>
my $curuser = $FS::CurrentUser::CurrentUser;
die "access denied\n" unless $curuser->access_right('Configuration');
-my $conf = new FS::Conf;
+my $locale = $cgi->param('locale') || '';
+
+my $conf = new FS::Conf { 'locale' => $locale };
if ( $conf->exists('disable_settings_changes') ) {
my @changers = split(/\s*,\s*/, $conf->config('disable_settings_changes'));
}
}
-$FS::Conf::DEBUG = 1;
+#$FS::Conf::DEBUG = 1;
my @config_items = grep { $_->key != ~/^invoice_(html|latex|template)/ }
$conf->config_items;
my %confitems = map { $_->key => $_ } $conf->config_items;
}
} elsif (
$type =~ /^(editlist|selectmultiple)$/
- or ( $type =~ /^select(-(sub|part_svc|part_pkg|pkg_class))?$/
+ or ( $type =~ /^select(-(sub|part_svc|part_pkg|pkg_class|agent))?$/
|| $i->multiple )
) {
- if ( scalar(@{[ $cgi->param($i->key.$n) ]}) ) {
+ if ( scalar(@{[ $cgi->param($i->key.$n) ]}) && $cgi->param($i->key.$n) ne '' ) {
my $error = &{$i->validate}([ $cgi->param($i->key.$n) ], $n) if $i->validate;
push @error, $error if $error;
$conf->set($i->key, join("\n", @{[ $cgi->param($i->key.$n) ]} ), $agentnum);
} else {
$conf->delete($i->key, $agentnum);
}
- } elsif ( $type =~ /^(text|select(-(sub|part_svc|part_pkg|pkg_class))?)$/ ) {
+ } elsif ( $type =~ /^(text|select(-(sub|part_svc|part_pkg|pkg_class|agent))?)$/ ) {
if ( $cgi->param($i->key.$n) ne '' ) {
my $error = &{$i->validate}($cgi->param($i->key.$n), $n) if $i->validate;
push @error, $error if $error;
}
# warn @touch;
$conf->touch($_, $agentnum) foreach @touch;
-$conf->delete($_, $agentnum) foreach @delete;
+$conf->delete_bool($_, $agentnum) foreach @delete;
if (scalar(@error)) {
$cgi->param('error', join(' ', @error));