X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fview%2Fcust_pay.html;h=1408b3db2f8ed653e848c6bcff3bfeaaeddb1b6f;hb=b5c4237a34aef94976bc343c8d9e138664fc3984;hp=c36d76904dbd6a278f96cb1de511641e970ced77;hpb=ff873782e78715891b9d5d2eb5b38c735d372556;p=freeside.git diff --git a/httemplate/view/cust_pay.html b/httemplate/view/cust_pay.html index c36d76904..1408b3db2 100644 --- a/httemplate/view/cust_pay.html +++ b/httemplate/view/cust_pay.html @@ -1,12 +1,15 @@ % if ( $link eq 'popup' ) { - <% include('/elements/header-popup.html', "Payment Receipt" ) %> + <% include('/elements/header-popup.html', "$thing Receipt" ) %> -
Print

+
+ Print | + Re-email +

% } elsif ( $link eq 'print' ) { - <% include('/elements/header-popup.html', "Payment Receipt" ) %> + <% include('/elements/header-popup.html', "$thing Receipt" ) %> % #it would be nice if the menubar could be hidden for print, but better to % # have it available than not, otherwise the user winds up at a dead end @@ -15,10 +18,15 @@ ) %>

- +% } elsif ( $link eq 'email' ) { +% if ( $email_error ) { + <% include('/elements/header-popup.html', "Error re-emailing receipt: $email_error" ) %> +% } else { + <% include('/elements/header-popup.html', "Re-emailed receipt" ) %> +% } % } else { - <% include('/elements/header.html', "Payment Receipt", menubar( + <% include('/elements/header.html', "$thing Receipt", menubar( "View this customer (#$display_custnum)" => "${p}view/cust_main.cgi?$custnum", 'Print receipt' => $pr_link, )) @@ -26,7 +34,7 @@ % } -% unless ($link eq 'popup' ) { +% unless ($link =~ /^(popup|email)$/ ) { <% include('/elements/small_custview.html', $custnum, scalar($conf->config('countrydefault')), @@ -48,6 +56,20 @@ <% time2str"%a %b %o, %Y %r", $cust_pay->_date %> +% if ( $void ) { + + + Void Date + <% time2str"%a %b %o, %Y %r", $cust_pay->void_date %> + + +%# +%# Void reason +%# <% $cust_pay->reason %> +%# + +% } + Amount <% $money_char. $cust_pay->paid %> @@ -79,6 +101,15 @@ % } +% if ( $conf->exists('pkg-balances') && $cust_pay->pkgnum ) { +% my $cust_pkg = qsearchs('cust_pkg', { 'pkgnum' => $cust_pay->pkgnum } ); + + For package + <% $cust_pkg->pkg_label_long %> + + +% } + % if ( $link eq 'print' ) { @@ -87,9 +118,14 @@ window.print(); -% } +% } elsif ( $link eq 'email' ) { + + -% if ( $link =~ /^(popup|print)$/ ) { +% } +% if ( $link =~ /^(popup|print|email)$/ ) { % } else { @@ -112,16 +148,21 @@ if ( $cgi->param('link') =~ /^(\w+)$/ ) { $link = $1; } +my $void = $cgi->param('void') ? 1 : 0; +my $thing = $void ? 'Voided Payment' : 'Payment'; +my $table = $void ? 'cust_pay_void' : 'cust_pay'; + my $cust_pay = qsearchs({ - 'select' => 'cust_pay.*', - 'table' => 'cust_pay', + 'select' => "$table.*", + 'table' => $table, 'addl_from' => 'LEFT JOIN cust_main USING ( custnum )', 'hashref' => { 'paynum' => $paynum }, 'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql, }); -die "Payment #$paynum not found!" unless $cust_pay; +die "$thing #$paynum not found!" unless $cust_pay; -my $pr_link = "${p}view/cust_pay.html?link=print;paynum=$paynum"; +my $pr_link = "${p}view/cust_pay.html?link=print;paynum=$paynum;void=$void"; +my $email_link = "${p}view/cust_pay.html?link=email;paynum=$paynum;void=$void"; my $custnum = $cust_pay->custnum; my $display_custnum = $cust_pay->cust_main->display_custnum; @@ -132,4 +173,14 @@ my $money_char = $conf->config('money_char') || '$'; tie my %payby, 'Tie::IxHash', FS::payby->payby2longname; +my $email_error; + +if ( $link eq 'email' ) { + my $email_error = $cust_pay->send_receipt( + 'manual' => 1, + ); + + warn "can't send payment receipt/statement: $email_error" if $email_error; +} +