diff options
author | Ivan Kohler <ivan@freeside.biz> | 2012-03-26 19:20:29 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2012-03-26 19:20:29 -0700 |
commit | f62a68016f32b443084705b0e7851497b308f81d (patch) | |
tree | 669ab13c6febb3b815613cd0d2227446f3c1b46a /httemplate/edit/cust_main/top_misc.html | |
parent | 8f6c0d7b137391c6dd9cd1397a73293cd575da13 (diff) |
more contact-aware new customer screen, RT#16819
Diffstat (limited to 'httemplate/edit/cust_main/top_misc.html')
-rw-r--r-- | httemplate/edit/cust_main/top_misc.html | 64 |
1 files changed, 63 insertions, 1 deletions
diff --git a/httemplate/edit/cust_main/top_misc.html b/httemplate/edit/cust_main/top_misc.html index 2d1d978e3..7ba167b7f 100644 --- a/httemplate/edit/cust_main/top_misc.html +++ b/httemplate/edit/cust_main/top_misc.html @@ -1,4 +1,49 @@ -<% &ntable("#cccccc") %> +<TABLE CLASS="fsinnerbox"> + +<TR> + <TD ALIGN="right">Residential</TD> + <TD><INPUT TYPE = "radio" + NAME = "residential_commercial" + ID = "residential_commercial_Residential" + VALUE = "Residential" + onChange = "rescom_changed(this)" + <% $cust_main->residential_commercial eq 'Commercial' ? '' : 'CHECKED' %> + ></TD> +</TR> +<TR> + <TD ALIGN="right">Commercial</TD> + <TD><INPUT TYPE = "radio" + NAME = "residential_commercial" + ID = "residential_commercial_Commercial" + VALUE = "Commercial" + onChange = "rescom_changed(this)" + <% $cust_main->residential_commercial eq 'Commercial' ? 'CHECKED' : '' %> + ></TD> +</TR> + +<SCRIPT TYPE="text/javascript"> + function rescom_changed() { + var f = document.CustomerForm; + + if ( f.residential_commercial_Residential.checked ) { + document.getElementById('contacts_div').style.display = 'none'; + } else { // if ( f.residential_commercial_Commercial.checked ) { + document.getElementById('contacts_div').style.display = ''; + } + + if ( f.residential_commercial_Residential.checked && ! f.company.value.length ) { + document.getElementById('company_row').style.display = 'none' + } else { // if ( f.residential_commercial_Commercial.checked ) { + document.getElementById('company_row').style.display = ''; + } + + if ( f.residential_commercial_Residential.checked && ! f.ship_company.value.length ) { + document.getElementById('ship_company_row').style.display = 'none' + } else { // if ( f.residential_commercial_Commercial.checked ) { + document.getElementById('ship_company_row').style.display = ''; + } + } +</SCRIPT> % foreach my $field ($cust_main->virtual_fields) { <% $cust_main->pvf($field)->widget('HTML', 'edit',$cust_main->getfield($field)) %> @@ -144,6 +189,23 @@ my( $cust_main, %opt ) = @_; my $custnum = $opt{'custnum'}; +if ( $cgi->param('error') ) { + $cust_main->set('residential_commercial', + ($cgi->param('residential_commercial') eq 'Commercial') + ? 'Commercial' + : 'Residential' + ); +} elsif ( $custnum ) { #editing + $cust_main->set('residential_commercial', + length($cust_main->company) + ? 'Commercial' + : 'Residential' + ); +} else { #new customer + #config to default to commercial and/or disable residential when someone needs + $cust_main->set('residential_commercial', 'Residential'); +} + my $conf = new FS::Conf; my $curuser = $FS::CurrentUser::CurrentUser; |