X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Felements%2Ftr-select-cust_location.html;h=a876f62253908a7a4456a6d03c80a3089e6f7791;hb=d0c5ddbd31af8b1747d447f31623e1af05961eb4;hp=d17e4dfee6dc38c3e2d1a622e34a156d03af5e41;hpb=528e7e1cb1a6d05f87847bf9fd9b7e0e9fc33f6f;p=freeside.git diff --git a/httemplate/elements/tr-select-cust_location.html b/httemplate/elements/tr-select-cust_location.html index d17e4dfee..a876f6225 100644 --- a/httemplate/elements/tr-select-cust_location.html +++ b/httemplate/elements/tr-select-cust_location.html @@ -11,6 +11,7 @@ Example: #optional 'empty_label' => '(default service address)', + 'disable_empty' => 0, #1 to disable ) @@ -33,29 +34,39 @@ Example: % } } + function location_clear(what) { +% for (grep { $_ ne 'location_number' } @location_fields, 'city_select') { + var ftype = what.form.<%$_%>.tagName; + if( ftype == 'INPUT' ) what.form.<%$_%>.value = ''; +% } +% if ( $opt{'alt_format'} ) { + changeSelect(what.form.location_kind, ''); + changeSelect(what.form.location_type, ''); + what.form.location_number.value = ''; +% } + } + function location_enable(what) { % for (grep { $_ ne 'location_number' } @location_fields, 'city_select') { what.form.<%$_%>.disabled = false; var ftype = what.form.<%$_%>.tagName; if( ftype != 'SELECT') what.form.<%$_%>.style.backgroundColor = '#ffffff'; - if( ftype == 'INPUT' ) what.form.<%$_%>.value = ''; % } if ( what.form.location_type.options[what.form.location_type.selectedIndex].value ) { what.form.location_number.disabled = false; what.form.location_number.style.backgroundColor = '#ffffff'; } - what.form.location_number.value = ''; } function locationnum_changed(what) { var locationnum = what.options[what.selectedIndex].value; - if ( locationnum == -2 ) { + if ( locationnum == -2 ) { //(not required) location_disable(what); return; } - if ( locationnum == -1 ) { - location_enable(what); + if ( locationnum == -1 ) { //Add new location + location_clear(what); changeSelect(what.form.country, <% $countrydefault |js_string %>); @@ -64,10 +75,33 @@ Example: '' ) ); + + location_enable(what); return; } + if ( locationnum == -3 ) { //service address location for qualificaitons + what.form.address1.value = <% $cust_location->address1 |js_string %>; + what.form.address2.value = <% $cust_location->address2 |js_string %>; + what.form.city.value = <% $cust_location->city |js_string %>; + what.form.zip.value = <% $cust_location->zip |js_string %>; +% if ( $opt{'alt_format'} ) { + what.form.location_number.value = <% $cust_location->location_number |js_string %>; + changeSelect(what.form.location_kind, <% $cust_location->location_kind |js_string %> ); + changeSelect(what.form.location_type, <% $cust_location->location_type |js_string %> ); +% } + + changeSelect(what.form.country, <% $cust_location->country | js_string %> ); - if ( locationnum == 0 ) { + country_changed( what.form.country, + fix_state_factory( <% $cust_location->state | js_string %>, + <% $cust_location->county | js_string %> + ) + ); + location_enable(what); + return; + } + + if ( locationnum == 0 ) { //(default service address) % if ( $cust_main ) { what.form.address1.value = <% $cust_main->get($prefix.'address1') |js_string %>; what.form.address2.value = <% $cust_main->get($prefix.'address2') |js_string %>; @@ -138,10 +172,17 @@ Example: function update_location( string ) { var hash = eval('('+string+')'); document.getElementById('address1').value = hash['address1']; - document.getElementById('address2').value = hash['address2']; document.getElementById('city').value = hash['city']; document.getElementById('zip').value = hash['zip']; +% if ( $opt{'alt_format'} ) { + changeSelect( document.getElementById('location_kind'), hash['location_kind']); + changeSelect( document.getElementById('location_type'), hash['location_type']); + document.getElementById('location_number').value = hash['location_number']; +% } else { + document.getElementById('address2').value = hash['address2']; +% } + var country_el = document.getElementById('country'); changeSelect( country_el, hash['country'] ); @@ -156,10 +197,13 @@ Example: - <<%$th%> ALIGN="right"><% $opt{'label'} || 'Service location' %>> + <<%$th%> ALIGN="right"><% $opt{'label'} || emt('Service location') %>> - +% if ( !$prospect_main && !$opt{'disable_empty'} ) {