diff options
-rw-r--r-- | FS/FS/cust_bill.pm | 5 | ||||
-rwxr-xr-x | httemplate/search/cust_bill.html | 4 | ||||
-rw-r--r-- | httemplate/search/report_cust_bill.html | 28 | ||||
-rw-r--r-- | httemplate/view/cust_main/payment_history.html | 24 |
4 files changed, 60 insertions, 1 deletions
diff --git a/FS/FS/cust_bill.pm b/FS/FS/cust_bill.pm index 32c2cb1a8..f5219c06a 100644 --- a/FS/FS/cust_bill.pm +++ b/FS/FS/cust_bill.pm @@ -5082,6 +5082,11 @@ sub search_sql_where { push @search, "cust_main.agentnum = $1"; } + #agentnum + if ( $param->{'custnum'} =~ /^(\d+)$/ ) { + push @search, "cust_bill.custnum = $1"; + } + #_date if ( $param->{_date} ) { my($beginning, $ending) = @{$param->{_date}}; diff --git a/httemplate/search/cust_bill.html b/httemplate/search/cust_bill.html index 4e40fb06d..0e7f2110c 100755 --- a/httemplate/search/cust_bill.html +++ b/httemplate/search/cust_bill.html @@ -98,6 +98,10 @@ if ( $cgi->param('invnum') =~ /^\s*(FS-)?(\d+)\s*$/ ) { $search{'agentnum'} = $1; } + if ( $cgi->param('custnum') =~ /^(\d+)$/ ) { + $search{'custnum'} = $1; + } + # begin/end/beginning/ending my($beginning, $ending) = FS::UI::Web::parse_beginning_ending($cgi, ''); $search{'_date'} = [ $beginning, $ending ] diff --git a/httemplate/search/report_cust_bill.html b/httemplate/search/report_cust_bill.html index b1a252e6c..0ff9e6b98 100644 --- a/httemplate/search/report_cust_bill.html +++ b/httemplate/search/report_cust_bill.html @@ -1,16 +1,19 @@ -<% include('/elements/header.html', 'Invoice Report' ) %> +<% include('/elements/header.html', $title ) %> <FORM ACTION="cust_bill.html" METHOD="GET"> <INPUT TYPE="hidden" NAME="magic" VALUE="_date"> +<INPUT TYPE="hidden" NAME="custnum" VALUE="<% $custnum %>"> <TABLE BGCOLOR="#cccccc" CELLSPACING=0 +% unless ( $custnum ) { <% include( '/elements/tr-select-agent.html', 'curr_value' => scalar( $cgi->param('agentnum') ), 'label' => 'Invoices for agent: ', 'disable_empty' => 0, ) %> +% } <% include( '/elements/tr-input-beginning_ending.html' ) %> @@ -25,6 +28,10 @@ field => 'owed', ) %> + +% if ( $cust_main ) { + <INPUT TYPE="hidden" NAME="payby" VALUE="<% $cust_main->payby %>"> +% } else { <% include( '/elements/tr-select-payby.html', label => 'Payment method:', payby_type => 'cust', @@ -32,15 +39,19 @@ all_selected => 1, ) %> +% } <TR> <TD ALIGN="right"><INPUT TYPE="checkbox" NAME="open" VALUE="1" CHECKED></TD> <TD>Show only open invoices</TD> </TR> + +% unless ( $custnum ) { <TR> <TD ALIGN="right"><INPUT TYPE="checkbox" NAME="newest_percust" VALUE="1"></TD> <TD>Show only the single most recent invoice per-customer</TD> </TR> +% } </TABLE> @@ -55,4 +66,19 @@ die "access denied" unless $FS::CurrentUser::CurrentUser->access_right('List invoices'); +my $title = 'Invoice Report'; + +#false laziness w/report_cust_pkg.html +my $custnum = ''; +my $cust_main = ''; +if ( $cgi->param('custnum') =~ /^(\d+)$/ ) { + $custnum = $1; + $cust_main = qsearchs({ + 'table' => 'cust_main', + 'hashref' => { 'custnum' => $custnum }, + 'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql, + }) or die "unknown custnum $custnum"; + $title .= ': '. $cust_main->name; +} + </%init> diff --git a/httemplate/view/cust_main/payment_history.html b/httemplate/view/cust_main/payment_history.html index 046899e5e..3288f15a7 100644 --- a/httemplate/view/cust_main/payment_history.html +++ b/httemplate/view/cust_main/payment_history.html @@ -1,3 +1,7 @@ +<TABLE> + <TR> + <TD ALIGN="left"> + %# payment links % my $s = 0; @@ -32,6 +36,9 @@ <A HREF="<% $p %>edit/cust_pay.cgi?payby=WEST;custnum=<% $custnum %>">Enter Western Union payment</A> % } +<BR> +% $s=0; + % if ( ( $payby{'CARD'} || $payby{'DCRD'} ) % && $curuser->access_right(['Process payment', 'Process credit card payment']) % && ! $cust_main->is_encrypted($cust_main->payinfo) @@ -123,8 +130,17 @@ <A HREF="<% $p %>edit/cust_refund.cgi?payby=MCRD;custnum=<% $custnum %>">Post manual (offline/POS) credit card refund</A> % } + </TD> + <TD ALIGN="right" VALIGN="top"> + +%# invoice reports +% if ( $curuser->access_right('List invoices') ) { + <A HREF="<% $p %>search/report_cust_bill.html?custnum=<% $custnum %>">Invoice reports</A> +% } <BR> +%# XXX payments, credits, refund reports + %# tax exemption link % my $view_exemptions = $curuser->access_right('View customer tax exemptions'); @@ -178,6 +194,11 @@ <A HREF="<% $p %>search/cust_pay_pending.html?magic=_date;statusNOT=done;custnum=<% $custnum %>">View pending payments</A><BR> % } + </TD> + </TR> + <TR> + <TD COLSPAN=2> + %# and now the table <% include("/elements/table-grid.html") %> @@ -331,6 +352,9 @@ %} </TABLE> + </TD> + </TR> +</TABLE> <SCRIPT TYPE="text/javascript"> |