<% $cust_main->residential_commercial eq 'Commercial' ? 'CHECKED' : '' %>
></TD>
</TR>
+
<SCRIPT TYPE="text/javascript">
+
function rescom_changed(what) {
if ( what.checked == (what.value == 'Commercial' ) ) {
document.getElementById('company_row').style.display = '';
document.getElementById('contacts_div').style.display = '';
+ document.getElementById('spouse_row').style.display = 'none';
} else {
if ( document.getElementById('company').value.length == 0 ) {
document.getElementById('company_row').style.display = 'none';
}
document.getElementById('contacts_div').style.display = 'none';
+ document.getElementById('spouse_row').style.display = '';
}
}
+
var ship_locked_agents = <% encode_json(\%ship_locked_agents) %>;
- var ship_fields = ['address1', 'city', 'state', 'zip', 'country',
- 'latitude', 'longitude', 'district'];
+ var ship_fields = [
+ 'locationname', 'address1',<% $conf->exists('cust_main-no_city_in_address') ? '' : q( 'city',) %> 'state', 'zip', 'country',
+ 'latitude', 'longitude', 'district'
+ ];
+
function agent_changed(what) {
var agentnum = what.value;
+
+% # unlock/lock service location
+
var f = what.form;
if ( ship_locked_agents[agentnum] ) {
+% # For this agent, the service location (except address2)
+% # should be locked to the agent's location.
+% # Set the ship_ fields to those values (just for display) and
+% # then disable them.
for(var x in ship_locked_agents[agentnum]) {
f['ship_'+x].value = ship_locked_agents[agentnum][x];
f['ship_'+x].disabled = true;
f['same'].checked = false;
f['same'].disabled = true;
} else {
+% # Unlock the ship_ location fields. If they were previously
+% # disabled, then they contain some agent's address, which is
+% # no longer meaningful. So set them back to the customer's
+% # current location.
for(var i=0; i<ship_fields.length; i++) {
x = ship_fields[i];
- f['ship_'+x].value = '';
+ if ( f['ship_'+x].disabled ) {
+ f['ship_'+x].value = f['old_ship_'+x].value;
+ }
f['ship_'+x].disabled = false;
}
- f['same'].checked = true;
f['same'].disabled = false;
}
samechanged(f['same']);
+
+% # update sales dropdown
+ salesnum_agentnum_changed(what);
+
}
- window.onload = function() {
- agent_changed(document.getElementById('agentnum'));
- }
+
+ <&| /elements/onload.js &>
+ rescom_changed(document.getElementById('residential_commercial_Residential'));
+ agent_changed(document.getElementById('agentnum'))
+ </&>
</SCRIPT>
% }
%# class
+% my $rclass = $conf->exists('cust_main-require_classnum') ? $r : '';
<& /elements/tr-select-cust_class.html,
- 'curr_value' => $cust_main->classnum,
- 'label' => emt("Class"),
+ 'curr_value' => $cust_main->classnum,
+ 'label' => $rclass . emt("Class"),
+ 'empty_label' => $rclass ? 'Select class' : '(none)',
+ 'disable_empty' => ($rclass && $cust_main->classnum) ? 1 : 0,
+&>
+
+%#sales person
+<& /elements/tr-select-sales.html,
+ 'curr_value' => $cust_main->salesnum,
&>
%# referral (advertising source)
% } else {
- <& /elements/tr-select-part_referral.html,
- 'curr_value' => $refnum
- &>
+ <& /elements/tr-select-part_referral.html,
+ 'curr_value' => $refnum,
+ 'label' => "<B>${r}".emt('Advertising source')."</B>"
+ &>
% }
my $custnum = $opt{'custnum'};
+my $conf = new FS::Conf;
+
if ( $cgi->param('error') ) {
$cust_main->set('residential_commercial',
($cgi->param('residential_commercial') eq 'Commercial')
: 'Residential'
);
} else { #new customer
- #config to default to commercial and/or disable residential when someone needs
- $cust_main->set('residential_commercial', 'Residential');
+ $cust_main->set('residential_commercial',
+ $conf->exists('cust_main-default_commercial')
+ ? 'Commercial'
+ : 'Residential'
+ );
}
-my $conf = new FS::Conf;
-
my $curuser = $FS::CurrentUser::CurrentUser;
my $r = qq!<font color="#ff0000">*</font> !;
my $agent_ship_location = $cust_main->ship_location;
$ship_locked_agents{$agentnum} = +{
map { $_ => $agent_ship_location->$_ }
- qw(address1 city state zip country latitude longitude district)
+ (
+ qw(locationname address1 state zip country latitude longitude district),
+ ($conf->exists('cust_main-no_city_in_address') ? () : 'city')
+ )
};
}