diff options
| author | levinse <levinse> | 2011-04-13 05:42:38 +0000 | 
|---|---|---|
| committer | levinse <levinse> | 2011-04-13 05:42:38 +0000 | 
| commit | b64ad663a0b694d86079c82c80f9de929b2559af (patch) | |
| tree | e92b6608cdbf68533a95d38ebb9efb399c7875a8 /httemplate | |
| parent | a96df0649e6b57d19896ec78236b4d7a8dfdf241 (diff) | |
quick payment tool improvements, RT8121
Diffstat (limited to 'httemplate')
| -rw-r--r-- | httemplate/elements/customer-table.html | 114 | ||||
| -rw-r--r-- | httemplate/misc/cust_main_note-import.cgi | 4 | ||||
| -rw-r--r-- | httemplate/misc/xmlhttp-cust_main-search.cgi | 8 | 
3 files changed, 83 insertions, 43 deletions
| diff --git a/httemplate/elements/customer-table.html b/httemplate/elements/customer-table.html index 89e54d703..4d9d10213 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:  <TR>    <TH>Inv #</TH>    <TH>Cust #</TH> +  <TH>Status</TH>    <TH>Customer</TH> +  <TH>Balance</TH>  % foreach my $header ( @{$opt{header}} ) {      <TH><% $header %></TH>  % } -  <TH>Balance</TH>  </TR>  % my $row = 0;  % for ( $row = 0; exists($param->{"custnum$row"}); $row++ ) {  @@ -405,6 +429,16 @@ Example:            custnum_input<% $row %>.onchange = <% $opt{prefix} %>search_custnum;          </SCRIPT>        </TD> +       +      <TD> +        <SPAN  +               NAME      = "status<% $row %>" +               ID        = "status<% $row %>" +               rownum    = "<% $row %>" +               STYLE     = "text-align:center; font-weight: bold" +        > +        </SPAN> +      </TD>        <TD>          <INPUT TYPE="text" NAME="customer<% $row %>" ID="customer<% $row %>" SIZE=64 VALUE="<% $param->{"customer$row"} %>" rownum="<% $row %>"> @@ -461,21 +495,19 @@ Example:  %     $col++;  %   }        <TD> -	<INPUT TYPE      = "text" +        <SPAN                  NAME      = "balance<% $row %>"                 ID        = "balance<% $row %>" -               SIZE      = 8 -               MAXLENGTH = 12 -               STYLE     = "text-align:right;" -               VALUE     = "<% $param->{"balance$row"} %>"                 rownum    = "<% $row %>" +               STYLE     = "text-align:center;"          > +        </SPAN>        </TD>      </TR>  % }   <TR> -  <TH COLSPAN=3 ID="<% $opt{'prefix'} %>_TOTAL_TOTAL"> +  <TH COLSPAN=5 ID="<% $opt{'prefix'} %>_TOTAL_TOTAL">      Total <% $row ? $row-1 : 0 %>      <% PL($opt{name_singular} || 'customer', ( $row ? $row-1 : 0 ) ) %>    </TH> @@ -579,6 +611,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 +647,17 @@ Example:        customer_cell.appendChild(customer_select);      row.appendChild(customer_cell); +     +    var balance_cell = document.createElement('TD'); +         +        var balance_span = document.createElement('SPAN'); +        balance_span.setAttribute('name', 'balance'+<% $opt{prefix} %>rownum); +        balance_span.setAttribute('id',   'balance'+<% $opt{prefix} %>rownum); +        balance_span.style.textAlign = 'center'; +        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 +695,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 = diff --git a/httemplate/misc/cust_main_note-import.cgi b/httemplate/misc/cust_main_note-import.cgi index 79fdd09ff..72ac556fd 100644 --- a/httemplate/misc/cust_main_note-import.cgi +++ b/httemplate/misc/cust_main_note-import.cgi @@ -49,8 +49,8 @@        if ( customerArray.length == 0 )  {          custnum_obj.value = 'Not found';          custnum_obj.style.color = '#ff0000'; -      } else if ( customerArray.length == 3 ) { -	var name = customerArray[1]; +      } else if ( customerArray.length == 5 ) { +	    var name = customerArray[1];          opt(customer_select,custnum,name,'#000000');          customer_select.selectedIndex = customer_select.length - 1;          custnum_obj.value = custnum; diff --git a/httemplate/misc/xmlhttp-cust_main-search.cgi b/httemplate/misc/xmlhttp-cust_main-search.cgi index 7140b20b8..6f023121f 100644 --- a/httemplate/misc/xmlhttp-cust_main-search.cgi +++ b/httemplate/misc/xmlhttp-cust_main-search.cgi @@ -12,7 +12,7 @@  %   my @cust_main = smart_search( 'search' => $string,  %                                 'no_fuzzy_on_exact' => 1, #pref?  %                               ); -%   my $return = [ map [ $_->custnum, $_->name, $_->balance ], @cust_main ]; +%   my $return = [ map [ $_->custnum, $_->name, $_->balance, $_->ucfirst_status, $_->statuscolor ], @cust_main ];  %       <% objToJson($return) %>  % } elsif ( $sub eq 'invnum_search' ) { @@ -33,13 +33,13 @@ sub findbycustnum{      my $agent = shift;      my $hashref = { 'custnum' => $custnum };      $hashref = { 'agent_custid' => $custnum } if $agent; -    my $cust_main = qsearchs({ +    my $c = qsearchs({         	'table'   => 'cust_main',         	'hashref' => $hashref,         	'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql,       		}); -   return [ $cust_main->custnum, $cust_main->name, $cust_main->balance ]  -	if $cust_main; +   return [ $c->custnum, $c->name, $c->balance, $c->ucfirst_status, $c->statuscolor ]  +	if $c;     [];  }  </%init> | 
