summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlevinse <levinse>2011-04-13 05:42:38 +0000
committerlevinse <levinse>2011-04-13 05:42:38 +0000
commitb64ad663a0b694d86079c82c80f9de929b2559af (patch)
treee92b6608cdbf68533a95d38ebb9efb399c7875a8
parenta96df0649e6b57d19896ec78236b4d7a8dfdf241 (diff)
quick payment tool improvements, RT8121
-rw-r--r--httemplate/elements/customer-table.html114
-rw-r--r--httemplate/misc/cust_main_note-import.cgi4
-rw-r--r--httemplate/misc/xmlhttp-cust_main-search.cgi8
3 files changed, 83 insertions, 43 deletions
diff --git a/httemplate/elements/customer-table.html b/httemplate/elements/customer-table.html
index 89e54d7..4d9d102 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 79fdd09..72ac556 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 7140b20..6f02312 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>