X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fsearch%2Fcust_bill_pay.html;h=ff20458d80d62f451402e7c744a8234b646bea71;hp=3c390e706fd0ede54425b1bac43d7013767370f9;hb=b71b1576c68bc40ad26592b354feace37a029f0e;hpb=40a7b3dc653e099f7bd0bd762b649b04c4432db2 diff --git a/httemplate/search/cust_bill_pay.html b/httemplate/search/cust_bill_pay.html index 3c390e706..ff20458d8 100644 --- a/httemplate/search/cust_bill_pay.html +++ b/httemplate/search/cust_bill_pay.html @@ -1,38 +1,48 @@ -<% include( 'elements/search.html', +<& elements/search.html, 'title' => $title, 'name' => 'net payments', 'query' => $sql_query, 'count_query' => $count_query, 'count_addl' => [ '$%.2f total paid (net)', ], 'header' => [ 'Net applied', - 'to Invoice', + 'Invoice', + 'Invoice amount', + 'Invoice date', 'Payment', + 'Payment amount', + 'Payment date', 'By', FS::UI::Web::cust_header(), ], 'fields' => [ - sub { $money_char. sprintf('%.2f', shift->amount ) }, - sub { my $cbp = shift; - '#'.$cbp->invnum. ' '. - time2str('%b %d %Y', $cbp->cust_bill_date ). - " ($money_char". - sprintf('%.2f', $cbp->cust_bill_amount). - ")" - }, - sub { my $cbp = shift; - $cbp->cust_pay->payby_payinfo_pretty. ' '. - time2str('%b %d %Y', $cbp->_date ). - " ($money_char". - sprintf('%.2f', $cbp->cust_pay_paid ). - ")" - }, - sub { shift->cust_pay->otaker }, + sub { $money_char.sprintf('%.2f', shift->amount ) }, + 'invnum', + sub { $money_char.sprintf('%.2f', shift->cust_bill_charged)}, + sub { time2str('%b %d %Y', shift->cust_bill_date ) }, + sub { shift->cust_pay->payby_payinfo_pretty }, + sub { $money_char.sprintf('%.2f', shift->cust_pay_paid)}, + sub { time2str('%b %d %Y', shift->cust_pay_date ) }, + sub { shift->cust_pay_otaker }, \&FS::UI::Web::cust_fields, ], - 'align' => 'rrrl'.FS::UI::Web::cust_aligns(), + 'sort_fields' => [ + 'amount', + 'invnum', + 'cust_bill_charged', + 'cust_bill_date', + '', + 'cust_pay_paid', + 'cust_pay_date', + '', + ], + 'align' => 'rrrrlrrl'.FS::UI::Web::cust_aligns(), 'links' => [ '', $cust_bill_link, + $cust_bill_link, + $cust_bill_link, + $cust_pay_link, + $cust_pay_link, $cust_pay_link, '', ( map { $_ ne 'Cust. Status' ? $cust_link : '' } @@ -44,6 +54,10 @@ '', '', '', + '', + '', + '', + '', FS::UI::Web::cust_colors(), ], 'style' => [ @@ -51,10 +65,14 @@ '', '', '', + '', + '', + '', + '', FS::UI::Web::cust_styles(), ], - ) -%> + +&> <%init> die "access denied" @@ -74,6 +92,23 @@ if ( $cgi->param('agentnum') && $cgi->param('agentnum') =~ /^(\d+)$/ ) { $title = $agent->agent. " $title"; } +if ( $cgi->param('refnum') && $cgi->param('refnum') =~ /^(\d+)$/ ) { + push @search, "refnum = $1"; + my $part_referral = qsearchs('part_referral', { 'refnum' => $1 } ); + die "unknown refnum $1" unless $part_referral; + $title = $part_referral->referral. " $title"; +} + +# cust_classnum (false laziness w/ elements/cust_main_dayranges.html, prepaid_income.html, cust_bill_pkg.html, cust_bill_pkg_referral.html, unearned_detail.html, cust_credit.html, cust_credit_refund.html, cust_main::Search::search_sql) +if ( grep { $_ eq 'cust_classnum' } $cgi->param ) { + my @classnums = grep /^\d*$/, $cgi->param('cust_classnum'); + push @search, 'COALESCE( cust_main.classnum, 0) IN ( '. + join(',', map { $_ || '0' } @classnums ). + ' )' + if @classnums; +} + + my($beginning, $ending) = FS::UI::Web::parse_beginning_ending($cgi); push @search, "cust_bill._date >= $beginning ", "cust_bill._date <= $ending"; @@ -85,17 +120,19 @@ my $where = 'WHERE '. join(' AND ', @search); # my $count_query = 'SELECT COUNT(*), SUM(amount) FROM cust_bill_pay - LEFT JOIN cust_bill USING ( invnum ) - LEFT JOIN cust_main USING ( custnum ) '. + LEFT JOIN cust_bill USING ( invnum ) '. + FS::UI::Web::join_cust_main('cust_bill') . $where; my $sql_query = { 'table' => 'cust_bill_pay', 'select' => join(', ', 'cust_bill_pay.*', - 'cust_pay.paid AS cust_pay_paid', 'cust_bill._date AS cust_bill_date', - #'cust_bill.charged AS cust_bill_charged', + 'cust_bill.charged AS cust_bill_charged', + 'cust_pay.paid AS cust_pay_paid', + 'cust_pay._date AS cust_pay_date', + 'cust_pay.otaker AS cust_pay_otaker', 'cust_pay.custnum AS custnum', 'cust_main.custnum AS cust_main_custnum', FS::UI::Web::cust_sql_fields(), @@ -103,8 +140,8 @@ my $sql_query = { 'hashref' => {}, 'extra_sql' => $where, 'addl_from' => 'LEFT JOIN cust_bill USING ( invnum ) - LEFT JOIN cust_pay USING ( paynum ) - LEFT JOIN cust_main ON ( cust_bill.custnum = cust_main.custnum )', + LEFT JOIN cust_pay USING ( paynum ) '. + FS::UI::Web::join_cust_main('cust_bill') }; my $cust_bill_link = sub {