From ba5975d05c4bf88a47750fecf8651821460ab30f Mon Sep 17 00:00:00 2001 From: ivan Date: Thu, 16 Jun 2011 20:21:41 +0000 Subject: [PATCH] add default_agentnum config, RT#13302 --- FS/FS/Conf.pm | 21 ++++++++------------- httemplate/config/config-process.cgi | 7 ++++--- httemplate/config/config-view.cgi | 3 ++- httemplate/config/config.cgi | 2 +- httemplate/edit/cust_main.cgi | 2 ++ 5 files changed, 17 insertions(+), 18 deletions(-) diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm index ab0e6b79d..d5b89b700 100644 --- a/FS/FS/Conf.pm +++ b/FS/FS/Conf.pm @@ -1836,22 +1836,17 @@ and customer address. Include units.', }, { + 'key' => 'default_agentnum', + 'section' => 'UI', + 'description' => 'Default agent for the backoffice', + 'type' => 'select-agent', + }, + + { 'key' => 'signup_server-default_agentnum', 'section' => 'self-service', 'description' => 'Default agent for the signup server', - 'type' => 'select-sub', - 'options_sub' => sub { require FS::Record; - require FS::agent; - map { $_->agentnum => $_->agent } - FS::Record::qsearch('agent', { disabled=>'' } ); - }, - 'option_sub' => sub { require FS::Record; - require FS::agent; - my $agent = FS::Record::qsearchs( - 'agent', { 'agentnum'=>shift } - ); - $agent ? $agent->agent : ''; - }, + 'type' => 'select-agent', }, { diff --git a/httemplate/config/config-process.cgi b/httemplate/config/config-process.cgi index 4e1c85a03..4a84c0dd1 100644 --- a/httemplate/config/config-process.cgi +++ b/httemplate/config/config-process.cgi @@ -65,7 +65,7 @@ % } 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; @@ -95,6 +95,7 @@ my %namecol = ( 'part_svc' => 'svc', 'part_pkg' => 'pkg', 'pkg_class' => 'classname', + 'agent' => 'agent', ); <%init> @@ -158,7 +159,7 @@ foreach my $type ( ref($i->type) ? @{$i->type} : $i->type ) { } } 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) ]}) ) { @@ -168,7 +169,7 @@ foreach my $type ( ref($i->type) ? @{$i->type} : $i->type ) { } 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; diff --git a/httemplate/config/config-view.cgi b/httemplate/config/config-view.cgi index 7516dabab..10fcde3c4 100644 --- a/httemplate/config/config-view.cgi +++ b/httemplate/config/config-view.cgi @@ -212,7 +212,7 @@ Click on a configuration value to change it. -% } elsif ( $type =~ /^select-(part_svc|part_pkg|pkg_class)$/ ) { +% } elsif ( $type =~ /^select-(part_svc|part_pkg|pkg_class|agent)$/ ) { % % my $table = $1; % my $namecol = $namecol{$table}; @@ -318,6 +318,7 @@ my %namecol = ( 'part_svc' => 'svc', 'part_pkg' => 'pkg', 'pkg_class' => 'classname', + 'agent' => 'agent', ); <%init> diff --git a/httemplate/config/config.cgi b/httemplate/config/config.cgi index cde48382a..040ed0403 100644 --- a/httemplate/config/config.cgi +++ b/httemplate/config/config.cgi @@ -323,7 +323,7 @@ my @config_items = $conf->config_items; my %confitems = map { $_->key => $_ } @config_items; my %element_types = map { $_ => 1 } qw( - select-part_svc select-part_pkg select-pkg_class + select-part_svc select-part_pkg select-pkg_class select-agent ); diff --git a/httemplate/edit/cust_main.cgi b/httemplate/edit/cust_main.cgi index 002fd5734..516423860 100755 --- a/httemplate/edit/cust_main.cgi +++ b/httemplate/edit/cust_main.cgi @@ -308,6 +308,8 @@ if ( $cgi->param('error') ) { $custnum=''; $cust_main = new FS::cust_main ( {} ); + $cust_main->agentnum( $conf->config('default_agentnum') ) + if $conf->exists('default_agentnum'); $cust_main->otaker( &getotaker ); $cust_main->referral_custnum( $cgi->param('referral_custnum') ); @invoicing_list = (); -- 2.11.0