diff options
author | Ivan Kohler <ivan@freeside.biz> | 2013-07-02 21:11:29 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2013-07-02 21:11:29 -0700 |
commit | 3d0a1bb06b895c5be6e3f0517d355442a6b1e125 (patch) | |
tree | 84069ebc3254825b952a482e11cdbbbc69f6fe85 /httemplate/misc/xmlhttp-cust_bill-search.html | |
parent | f3b99c11d6eed33f467dda360180a698a85c54e8 (diff) | |
parent | d62206a94d9d49ef96640e0a8ec492679f8345e9 (diff) |
Merge branch 'master' of git.freeside.biz:/home/git/freeside
Diffstat (limited to 'httemplate/misc/xmlhttp-cust_bill-search.html')
-rw-r--r-- | httemplate/misc/xmlhttp-cust_bill-search.html | 38 |
1 files changed, 30 insertions, 8 deletions
diff --git a/httemplate/misc/xmlhttp-cust_bill-search.html b/httemplate/misc/xmlhttp-cust_bill-search.html index 46f15d1ab..6082dc771 100644 --- a/httemplate/misc/xmlhttp-cust_bill-search.html +++ b/httemplate/misc/xmlhttp-cust_bill-search.html @@ -1,18 +1,40 @@ -<% encode_json(\@return) %> +<% encode_json(\@return) %>\ <%init> 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'); - #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 ( $custnum =~ /^(\d+)$/ ) { +#warn "searching invoices for $custnum\n"; + my $cust_main = FS::cust_main->by_key($custnum); + 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> |