summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2011-06-16 20:21:41 +0000
committerivan <ivan>2011-06-16 20:21:41 +0000
commitba5975d05c4bf88a47750fecf8651821460ab30f (patch)
tree01d6c275330ae1135146cfaa2c1750ea24cde209
parentc1cd1e5c13ba6087850139bc9bea4ff5efb65200 (diff)
add default_agentnum config, RT#13302
-rw-r--r--FS/FS/Conf.pm21
-rw-r--r--httemplate/config/config-process.cgi7
-rw-r--r--httemplate/config/config-view.cgi3
-rw-r--r--httemplate/config/config.cgi2
-rwxr-xr-xhttemplate/edit/cust_main.cgi2
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',
);
</%once>
<%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.
</td>
</tr>
-% } 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',
);
</%once>
<%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
);
</%once>
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 = ();