X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Felements%2Fcustomer-table.html;h=9968ee9aa81ee3e142e1a000b265114a62378cbb;hb=d8299144d2175f1695adafe29e9549bd9b158e2f;hp=89e54d7038972d42435632e7b4cc02cad7a05cbd;hpb=0d75dc389fccdb680237aa1e244e13d254d12f02;p=freeside.git diff --git a/httemplate/elements/customer-table.html b/httemplate/elements/customer-table.html index 89e54d703..9968ee9aa 100644 --- a/httemplate/elements/customer-table.html +++ b/httemplate/elements/customer-table.html @@ -100,7 +100,9 @@ Example: var custnum_obj = document.getElementById('custnum'+searchrow); var balance = document.getElementById('balance'+searchrow); - balance.value = ''; + var status = document.getElementById('status'+searchrow); + balance.innerHTML = ''; + status.innerHTML = ''; function search_invnum_update(customers) { @@ -121,12 +123,14 @@ Example: customer.style.display = ''; customer_select.style.display = 'none'; - } else if ( customerArray.length == 3 ) { + } else if ( customerArray.length == 5 ) { custnum_obj.value = customerArray[0]; custnum_obj.style.color = '#000000'; customer.value = customerArray[1]; - balance.value = customerArray[2]; + balance.innerHTML = customerArray[2] + '   '; + status.innerHTML = customerArray[3]; + status.style.color = '#'+customerArray[4]; customer.style.display = ''; customer_select.style.display = 'none'; @@ -178,7 +182,10 @@ Example: invnum.value = ''; var balance = document.getElementById('balance'+searchrow); - balance.value = ''; + balance.innerHTML = ''; + + var status = document.getElementById('status'+searchrow); + status.innerHTML = ''; function search_custnum_update(customers) { @@ -193,12 +200,14 @@ Example: customer.style.color = '#ff0000'; custnum_obj.style.color = '#ff0000'; - } else if ( customerArray.length == 3 ) { + } else if ( customerArray.length == 5 ) { custnum_obj.value = customerArray[0]; custnum_obj.style.color = '#000000'; customer.value = customerArray[1]; - balance.value = customerArray[2]; + balance.innerHTML = customerArray[2] + '   '; + status.innerHTML = customerArray[3]; + status.style.color = '#'+customerArray[4]; customer.style.display = ''; customer_select.style.display = 'none'; @@ -243,7 +252,10 @@ Example: var customer_select = document.getElementById('cust_select'+searchrow); var balance = document.getElementById('balance'+searchrow); - balance.value = ''; + balance.innerHTML = ''; + + var status = document.getElementById('status'+searchrow); + status.innerHTML = ''; function search_customer_update(customers) { @@ -265,7 +277,9 @@ Example: custnum_obj.value = customerArray[0][0]; customer_obj.value = customerArray[0][1]; - balance.value = customerArray[0][2]; + balance.innerHTML = customerArray[0][2] + '   '; + status.innerHTML = customerArray[0][3]; + status.style.color = '#'+customerArray[0][4]; customer_obj.style.display = ''; customer_select.style.display = 'none'; @@ -287,7 +301,7 @@ Example: //add the multiple customers for ( var s = 0; s < customerArray.length; s++ ) - opt(customer_select, customerArray[s][0] + '_' + customerArray[s][2], customerArray[s][1], '#000000'); + opt(customer_select, customerArray[s][0] + '_' + customerArray[s][2] + '_' + customerArray[s][3] + '_' + customerArray[s][4], customerArray[s][1], '#000000'); opt(customer_select, 'cancel', '(Edit search string)', '#000000'); @@ -305,17 +319,18 @@ Example: function select_customer() { - var custnum_balance = this.options[this.selectedIndex].value; + var custnum_balance_status = this.options[this.selectedIndex].value; var customer = this.options[this.selectedIndex].text; var searchrow = this.getAttribute('rownum'); var custnum_obj = document.getElementById('custnum'+searchrow); var customer_obj = document.getElementById('customer'+searchrow); var balance_obj = document.getElementById('balance'+searchrow); + var status_obj = document.getElementById('status'+searchrow); - if ( custnum_balance == '' ) { + if ( custnum_balance_status == '' ) { - } else if ( custnum_balance == 'cancel' ) { + } else if ( custnum_balance_status == 'cancel' ) { custnum_obj.value = ''; custnum_obj.style.color = '#000000'; @@ -326,8 +341,13 @@ Example: } else { - var custnum = custnum_balance.substring(0,custnum_balance.indexOf('_')); - var balance = custnum_balance.substring(custnum_balance.indexOf('_')+1); + var pos_underscore1 = custnum_balance_status.indexOf('_'); + var pos_underscore2 = custnum_balance_status.indexOf('_',pos_underscore1+1); + var pos_underscore3 = custnum_balance_status.indexOf('_',pos_underscore2+1); + var custnum = custnum_balance_status.substring(0,pos_underscore1); + var balance = custnum_balance_status.substring(pos_underscore1+1,pos_underscore2) + '   '; + var status = custnum_balance_status.substring(pos_underscore2+1,pos_underscore3); + var color = custnum_balance_status.substring(pos_underscore3+1); custnum_obj.value = custnum; custnum_obj.style.color = '#000000'; @@ -335,7 +355,10 @@ Example: customer_obj.value = customer; customer_obj.style.color = '#000000'; - balance_obj.value = balance; + balance_obj.innerHTML = balance; + + status_obj.innerHTML = status; + status_obj.style.color = '#'+color; this.style.display = 'none'; customer_obj.style.display = ''; @@ -362,11 +385,12 @@ Example: Inv # Cust # + Status Customer + Balance % foreach my $header ( @{$opt{header}} ) { <% $header %> % } - Balance % my $row = 0; % for ( $row = 0; exists($param->{"custnum$row"}); $row++ ) { @@ -405,6 +429,16 @@ Example: custnum_input<% $row %>.onchange = <% $opt{prefix} %>search_custnum; + + + + + " rownum="<% $row %>"> @@ -460,22 +494,21 @@ Example: % $col++; % } - - + <% $money_char %> + " rownum = "<% $row %>" > + +   % } - + Total <% $row ? $row-1 : 0 %> <% PL($opt{name_singular} || 'customer', ( $row ? $row-1 : 0 ) ) %> @@ -579,6 +612,18 @@ Example: custnum_cell.appendChild(custnum_input); row.appendChild(custnum_cell); + + var status_cell = document.createElement('TD'); + + var status_span = document.createElement('SPAN'); + status_span.setAttribute('name', 'status'+<% $opt{prefix} %>rownum); + status_span.setAttribute('id', 'status'+<% $opt{prefix} %>rownum); + status_span.style.textAlign = 'center'; + status_span.style.fontWeight = 'bold'; + status_span.setAttribute('rownum', <% $opt{prefix} %>rownum); + status_cell.appendChild(status_span); + + row.appendChild(status_cell); var customer_cell = document.createElement('TD'); @@ -603,6 +648,18 @@ Example: customer_cell.appendChild(customer_select); row.appendChild(customer_cell); + + var balance_cell = document.createElement('TD'); + balance_cell.style.textAlign = 'right'; + balance_cell.innerHTML = '<% $money_char %>'; + + var balance_span = document.createElement('SPAN'); + balance_span.setAttribute('name', 'balance'+<% $opt{prefix} %>rownum); + balance_span.setAttribute('id', 'balance'+<% $opt{prefix} %>rownum); + balance_span.setAttribute('rownum', <% $opt{prefix} %>rownum); + balance_cell.appendChild(balance_span); + + row.appendChild(balance_cell); % my $col = 0; % foreach my $field ( @{$opt{fields}} ) { @@ -640,21 +697,6 @@ Example: % $col++; % } - var balance_cell = document.createElement('TD'); - - var balance_input = document.createElement('INPUT'); - balance_input.setAttribute('name', 'balance'+<% $opt{prefix} %>rownum); - balance_input.setAttribute('id', 'balance'+<% $opt{prefix} %>rownum); - balance_input.style.textAlign = 'right'; - balance_input.setAttribute('size', 8); - balance_input.setAttribute('maxlength', 12); - balance_input.setAttribute('rownum', <% $opt{prefix} %>rownum); - balance_input.disabled = true; - balance_input.style.backgroundColor = '#dddddd'; - balance_cell.appendChild(balance_input); - - row.appendChild(balance_cell); - //update the total # of rows display if ( <% $opt{prefix} %>rownum == 1 ) { <% $opt{prefix} %>total_el.innerHTML = @@ -680,6 +722,7 @@ Example: <%init> my(%opt) = @_; +my $conf = new FS::Conf; $opt{prefix} = '' unless defined $opt{prefix}; $opt{prefix} .= '_' if $opt{prefix}; @@ -700,4 +743,6 @@ my %align = ( 'c' => 'center', ); +my $money_char = $conf->config('money_char') || '$'; +