diff options
author | Ivan Kohler <ivan@freeside.biz> | 2012-06-13 14:34:46 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2012-06-13 14:34:46 -0700 |
commit | 15dbf6151b7e6e3b32e55fd6609725f650349460 (patch) | |
tree | 22ad4d265853ae3637fa92478c285f1ba7bf3491 /httemplate/elements/customer-table.html | |
parent | cc6bedada3c99e3e9ca4748546f3b4ab847c3cba (diff) |
quick payment entry: if both a custnum and an agent_custid match, allow the user to pick, RT#18100
Diffstat (limited to 'httemplate/elements/customer-table.html')
-rw-r--r-- | httemplate/elements/customer-table.html | 47 |
1 files changed, 38 insertions, 9 deletions
diff --git a/httemplate/elements/customer-table.html b/httemplate/elements/customer-table.html index a1e9732fd..79443dc8b 100644 --- a/httemplate/elements/customer-table.html +++ b/httemplate/elements/customer-table.html @@ -179,15 +179,16 @@ Example: if ( ( <% $opt{prefix} %>rownum - searchrow ) == 1 ) { <% $opt{prefix} %>addRow(); } - var customer = document.getElementById('customer'+searchrow); - customer.value = 'searching...'; - customer.disabled = true; - customer.style.color = '#000000'; - customer.style.backgroundColor = '#dddddd'; + + var customer_obj = document.getElementById('customer'+searchrow); + customer_obj.value = 'searching...'; + customer_obj.disabled = true; + customer_obj.style.color = '#000000'; + customer_obj.style.backgroundColor = '#dddddd'; var customer_select = document.getElementById('cust_select'+searchrow); - customer.style.display = ''; + customer_obj.style.display = ''; customer_select.style.display = 'none'; var invnum = document.getElementById('invnum'+searchrow); @@ -200,12 +201,40 @@ Example: function search_custnum_update(customers) { - var customerArray = eval('(' + customers + ')') || []; - update_customer(searchrow, customerArray); + var customerArrayArray = eval('(' + customers + ')') || []; + if ( customerArrayArray.length == 1 ) { + + update_customer(searchrow, customerArrayArray[0]); % if ( $opt{custnum_update_callback} ) { - <% $opt{custnum_update_callback} %>(searchrow, '<% $opt{prefix} %>') + <% $opt{custnum_update_callback} %>(searchrow, '<% $opt{prefix} %>') % } + + } else { + + custnum_obj.value = 'Multiple'; // or something + custnum_obj.style.color = '#ff0000'; + + //blank the current list + customer_select.options.length = 0; + + opt(customer_select, '', 'Multiple customers match "' + custnum + '" - select one', '#ff0000'); + //add the multiple customers + for ( var s = 0; s < customerArrayArray.length; s++ ) { + opt(customer_select, + JSON.stringify(customerArrayArray[s]), + customerArrayArray[s][1], + '#000000'); + } + + opt(customer_select, 'cancel', '(Edit search string)', '#000000'); + + customer_obj.style.display = 'none'; + + customer_select.style.display = ''; + + } + } custnum_search(custnum, search_custnum_update ); |