X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=httemplate%2Fedit%2Fcust_refund.cgi;h=3333f5d8c25c424b0a1a5c0590c64bbe4a57c6e2;hb=50807fa33b7bfdd80ce8c103e2c6598a357349dc;hp=aa825af94c5069202ec930008675064cb8b6e173;hpb=dcdf657e77ec7b46dc69e19a849a9c133123db7c;p=freeside.git diff --git a/httemplate/edit/cust_refund.cgi b/httemplate/edit/cust_refund.cgi index aa825af94..3333f5d8c 100755 --- a/httemplate/edit/cust_refund.cgi +++ b/httemplate/edit/cust_refund.cgi @@ -1,40 +1,6 @@ -% -% -%my $conf = new FS::Conf; -%my $custnum = $cgi->param('custnum'); -%my $refund = $cgi->param('refund'); -%my $payby = $cgi->param('payby'); -%my $reason = $cgi->param('reason'); -% -%my( $paynum, $cust_pay ) = ( '', '' ); -%if ( $cgi->param('paynum') =~ /^(\d+)$/ ) { -% $paynum = $1; -% $cust_pay = qsearchs('cust_pay', { paynum=>$paynum } ) -% or die "unknown payment # $paynum"; -% $refund ||= $cust_pay->unrefunded; -% if ( $custnum ) { -% die "payment # $paynum is not for specified customer # $custnum" -% unless $custnum == $cust_pay->custnum; -% } else { -% $custnum = $cust_pay->custnum; -% } -%} -%die "no custnum or paynum specified!" unless $custnum; -% -%my $_date = time; -% -%my $p1 = popurl(1); -% -% - - <% include('/elements/header.html', 'Refund '. ucfirst(lc($payby)). ' payment', '') %> -% if ( $cgi->param('error') ) { - - Error: <% $cgi->param('error') %> -

-% } +<% include('/elements/error.html') %> <% small_custview($custnum, $conf->config('countrydefault')) %> @@ -53,6 +19,11 @@ % #false laziness w/FS/FS/cust_pay.pm % my $payby = $cust_pay->payby; % my $paymask = $cust_pay->paymask; +% my $paydate = $cust_pay->paydate; +% if ( $cgi->param('error') ) { +% $paydate = $cgi->param('exp_year'). '-'. $cgi->param('exp_month'). '-01'; +% $paydate = '' unless ($paydate =~ /^\d{2,4}-\d{1,2}-01$'/); +% } % $payby =~ s/^BILL$/Check/ if $paymask; % $payby =~ s/^CHEK$/Electronic check/; % @@ -73,6 +44,19 @@ Method<% ucfirst(lc($payby)) %> # <% $paymask %> + +% unless ( $paydate ) { # possibly other reasons: i.e. card has since expired + + Expiration + <% include( '/elements/select-month_year.html', + 'prefix' => 'exp', + 'selected_date' => $paydate, + 'empty_option' => !$paydate, + ) %> + + +% } + % % #false laziness w/FS/FS/cust_main::realtime_refund_bop % if ( $cust_pay->paybatch =~ /^(\w+):(\w+)(:(\w+))?$/ ) { @@ -124,3 +108,34 @@ <% include('/elements/footer.html') %> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Refund payment'); + +my $conf = new FS::Conf; +my $custnum = $cgi->param('custnum'); +my $refund = $cgi->param('refund'); +my $payby = $cgi->param('payby'); +my $reason = $cgi->param('reason'); + +my( $paynum, $cust_pay ) = ( '', '' ); +if ( $cgi->param('paynum') =~ /^(\d+)$/ ) { + $paynum = $1; + $cust_pay = qsearchs('cust_pay', { paynum=>$paynum } ) + or die "unknown payment # $paynum"; + $refund ||= $cust_pay->unrefunded; + if ( $custnum ) { + die "payment # $paynum is not for specified customer # $custnum" + unless $custnum == $cust_pay->custnum; + } else { + $custnum = $cust_pay->custnum; + } +} +die "no custnum or paynum specified!" unless $custnum; + +my $_date = time; + +my $p1 = popurl(1); + +