projects
/
freeside.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
default to commercial new cusotomer, RT#22560
[freeside.git]
/
httemplate
/
edit
/
cust_main
/
top_misc.html
diff --git
a/httemplate/edit/cust_main/top_misc.html
b/httemplate/edit/cust_main/top_misc.html
index
f2f584f
..
8f8a96a
100644
(file)
--- a/
httemplate/edit/cust_main/top_misc.html
+++ b/
httemplate/edit/cust_main/top_misc.html
@@
-20,26
+20,41
@@
<% $cust_main->residential_commercial eq 'Commercial' ? 'CHECKED' : '' %>
></TD>
</TR>
<% $cust_main->residential_commercial eq 'Commercial' ? 'CHECKED' : '' %>
></TD>
</TR>
+
<SCRIPT TYPE="text/javascript">
<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 = '';
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';
} 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_locked_agents = <% encode_json(\%ship_locked_agents) %>;
- var ship_fields = ['address1', 'city', 'state', 'zip', 'country',
- 'latitude', 'longitude', 'district'];
+ var ship_fields = [
+ 'locationname', 'address1', 'city', 'state', 'zip', 'country',
+ 'latitude', 'longitude', 'district'
+ ];
+
function agent_changed(what) {
var agentnum = what.value;
function agent_changed(what) {
var agentnum = what.value;
+
+% # unlock/lock service location
+
var f = what.form;
if ( ship_locked_agents[agentnum] ) {
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;
for(var x in ship_locked_agents[agentnum]) {
f['ship_'+x].value = ship_locked_agents[agentnum][x];
f['ship_'+x].disabled = true;
@@
-47,19
+62,30
@@
f['same'].checked = false;
f['same'].disabled = true;
} else {
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];
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['ship_'+x].disabled = false;
}
- f['same'].checked = true;
f['same'].disabled = false;
}
samechanged(f['same']);
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>
</SCRIPT>
@@
-120,6
+146,11
@@
'label' => emt("Class"),
&>
'label' => emt("Class"),
&>
+%#sales person
+<& /elements/tr-select-sales.html,
+ 'curr_value' => $cust_main->salesnum,
+&>
+
%# referral (advertising source)
%my $refnum = $cust_main->refnum || $conf->config('referraldefault') || 0;
%if ( $custnum && ! $conf->exists('editreferrals') ) {
%# referral (advertising source)
%my $refnum = $cust_main->refnum || $conf->config('referraldefault') || 0;
%if ( $custnum && ! $conf->exists('editreferrals') ) {
@@
-128,9
+159,10
@@
% } else {
% } 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>"
+ &>
% }
% }
@@
-209,6
+241,8
@@
my( $cust_main, %opt ) = @_;
my $custnum = $opt{'custnum'};
my $custnum = $opt{'custnum'};
+my $conf = new FS::Conf;
+
if ( $cgi->param('error') ) {
$cust_main->set('residential_commercial',
($cgi->param('residential_commercial') eq 'Commercial')
if ( $cgi->param('error') ) {
$cust_main->set('residential_commercial',
($cgi->param('residential_commercial') eq 'Commercial')
@@
-222,12
+256,13
@@
if ( $cgi->param('error') ) {
: 'Residential'
);
} else { #new customer
: '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 $curuser = $FS::CurrentUser::CurrentUser;
my $r = qq!<font color="#ff0000">*</font> !;
@@
-241,7
+276,7
@@
foreach (qsearch('agent',{})) {
my $agent_ship_location = $cust_main->ship_location;
$ship_locked_agents{$agentnum} = +{
map { $_ => $agent_ship_location->$_ }
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 city state zip country latitude longitude district)
};
}
};
}