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">  | 
