diff options
author | Mark Wells <mark@freeside.biz> | 2013-07-02 13:37:11 -0700 |
---|---|---|
committer | Mark Wells <mark@freeside.biz> | 2013-07-02 13:37:11 -0700 |
commit | 44824b823129157a89147bb34fc563d5373d7a0a (patch) | |
tree | e3e76fd27c49af669ece781d1335f7af7ea898a9 /httemplate/misc | |
parent | d412ac8b029ecf0dc3cb6d62d5a7afa91cfba740 (diff) |
more detail when selecting invoices in quick payment entry, #15861
Diffstat (limited to 'httemplate/misc')
-rw-r--r-- | httemplate/misc/batch-cust_pay.html | 24 | ||||
-rw-r--r-- | httemplate/misc/xmlhttp-cust_bill-search.html | 32 |
2 files changed, 43 insertions, 13 deletions
diff --git a/httemplate/misc/batch-cust_pay.html b/httemplate/misc/batch-cust_pay.html index 04a402bef..cc1a26a0e 100644 --- a/httemplate/misc/batch-cust_pay.html +++ b/httemplate/misc/batch-cust_pay.html @@ -5,6 +5,15 @@ <& /elements/error.html &> +<STYLE TYPE="text/css"> +.select_invnum { + text-align: right; + width: 220px; +} +.select_invnum * { + font-family: monospace; +} +</STYLE> <SCRIPT TYPE="text/javascript"> function warnUnload() { if(document.getElementById("OneTrueTable").rows.length > 3 && @@ -185,21 +194,23 @@ function choose_app_invnum() { function focus_app_invnum() { % # invoice numbers just display as invoice numbers var rownum = this.getAttribute('rownum'); - var add_opt = function(obj, value) { + var add_opt = function(obj, value, label) { var o = document.createElement('OPTION'); - o.text = value; + o.text = label; o.value = value; obj.add(o); } this.options.length = 0; var this_invoice = this.curr_invoice; if ( this_invoice ) { - add_opt(this, this_invoice.invnum); + add_opt(this, this_invoice.invnum, this_invoice.label); } else { - add_opt(this, ''); + add_opt(this, '', ''); } for ( var x in invoices_for_row[rownum] ) { - add_opt(this, invoices_for_row[rownum][x].invnum); + add_opt(this, + invoices_for_row[rownum][x].invnum, + invoices_for_row[rownum][x].label); } } @@ -236,8 +247,7 @@ function create_application_row(rownum, appnum) { select_invnum.setAttribute('appnum', appnum); select_invnum.setAttribute('id', 'invnum'+rownum+'.'+appnum); select_invnum.setAttribute('name', 'invnum'+rownum+'.'+appnum); - select_invnum.style.textAlign = 'right'; - select_invnum.style.width = '50px'; + select_invnum.className = 'select_invnum'; select_invnum.onchange = choose_app_invnum; select_invnum.onfocus = focus_app_invnum; diff --git a/httemplate/misc/xmlhttp-cust_bill-search.html b/httemplate/misc/xmlhttp-cust_bill-search.html index c60a0b05c..6082dc771 100644 --- a/httemplate/misc/xmlhttp-cust_bill-search.html +++ b/httemplate/misc/xmlhttp-cust_bill-search.html @@ -4,17 +4,37 @@ my $curuser = $FS::CurrentUser::CurrentUser; die 'access denied' unless $curuser->access_right('View invoices'); my @return; +my $date_format = FS::Conf->new->config('date_format') || '%m/%d/%Y'; if ( $cgi->param('sub') eq 'custnum_search_open' ) { my $custnum = $cgi->param('arg'); if ( $custnum =~ /^(\d+)$/ ) { #warn "searching invoices for $custnum\n"; my $cust_main = FS::cust_main->by_key($custnum); - @return = map { - +{ $_->hash, - 'owed' => $_->owed } - } $cust_main->open_cust_bill - if $curuser->agentnums_href->{ $cust_main->agentnum }; - } + if ( $curuser->agentnums_href->{ $cust_main->agentnum } ) { + my @open_bills = $cust_main->open_cust_bill; + my $invnum_len; + my $owed_len; + my $date_len; + foreach my $cust_bill (@open_bills) { + my $invnum = $cust_bill->invnum; + my $owed = $cust_bill->owed; + my $date = time2str($date_format, $cust_bill->_date); + $invnum_len = length($invnum) if length($invnum) > $invnum_len; + $owed_len = length($owed) if length($owed) > $owed_len; + $date_len = length($date) if length($date) > $date_len; + + push @return, { $cust_bill->hash, + 'owed' => $owed, + 'date' => $date }; + } + my $format = '%' . $invnum_len . 'd - %' . $date_len . 's - '. + (FS::Conf->new->config('money_char') || '$') . + '%' . $owed_len . '.2f'; + foreach (@return) { + $_->{label} = sprintf($format, $_->{invnum}, $_->{date}, $_->{owed}); + } + } #if agentnum + } #if $custnum } </%init> |