From 6aa4566a38f2ef9a9580b976138bfa83e1a7d69d Mon Sep 17 00:00:00 2001 From: Mark Wells Date: Thu, 28 Feb 2013 23:21:19 -0800 Subject: enforce agent-ship_address in backend interface, #21327 --- httemplate/edit/cust_main/top_misc.html | 53 +++++++++++++++++++++++++++++++-- 1 file changed, 51 insertions(+), 2 deletions(-) (limited to 'httemplate/edit/cust_main') diff --git a/httemplate/edit/cust_main/top_misc.html b/httemplate/edit/cust_main/top_misc.html index 558250cc2..0bdcae0f9 100644 --- a/httemplate/edit/cust_main/top_misc.html +++ b/httemplate/edit/cust_main/top_misc.html @@ -6,6 +6,39 @@ 'cgi' => $cgi, &> + %# agent % if ( $cgi->param('lock_agentnum') =~ /^(\d+)$/ && $curuser->agentnum($1) ) { % @@ -13,12 +46,13 @@ % $cust_main->agentnum($agentnum); - + <% mt('Agent') |h %> <% $cust_main->agent->agent |h %> - + % } else { <& /elements/tr-select-agent.html, @@ -27,6 +61,7 @@ 'empty_label' => emt('Select agent'), 'disable_empty' => ( $cust_main->agentnum ? 1 : 0 ), 'viewall_right' => emt('None'), + 'onchange' => 'agent_changed(this)', &> % } @@ -146,4 +181,18 @@ my $curuser = $FS::CurrentUser::CurrentUser; my $r = qq!* !; +# which agents lock the service address, if any +my %ship_locked_agents; +foreach (qsearch('agent',{})) { + my $agentnum = $_->agentnum; + next unless $conf->exists('agent-ship_address', $_->agentnum); + my $agent_cust_main = $_->agent_cust_main or next; + my $pre = ''; + $pre = 'ship_' if $agent_cust_main->has_ship_address; + $ship_locked_agents{$agentnum} = +{ + map { $_ => $agent_cust_main->get($pre.$_) } + qw(address1 city state zip country latitude longitude) + }; +} + -- cgit v1.2.1