X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fedit%2Fcust_refund.cgi;h=27c4b193759b8548c65c42a481cf5106e99f748a;hp=59417b4c4806f3cef7c153808072b5dc1f2dbbb3;hb=360f89789c45e1fd7cb84b1442d2f0c8353066d9;hpb=06a85a88bfdb0d3fc79ee055eb8327658dfe63ab diff --git a/httemplate/edit/cust_refund.cgi b/httemplate/edit/cust_refund.cgi index 59417b4c4..27c4b1937 100755 --- a/httemplate/edit/cust_refund.cgi +++ b/httemplate/edit/cust_refund.cgi @@ -10,7 +10,7 @@ <% small_custview($custnum, $conf->config('countrydefault')) %> % } -
+ @@ -34,7 +34,7 @@ % }
Payment - <% ntable("#cccccc", 2) %> + @@ -59,37 +59,34 @@ % } - -% -% #false laziness w/FS/FS/cust_main::realtime_refund_bop -% if ( $cust_pay->paybatch =~ /^(\w+):(\w+)(:(\w+))?$/ ) { -% my ( $processor, $auth, $order_number ) = ( $1, $2, $4 ); -% - - +% if ( $cust_pay->processor ) { - + + -% if ( length($auth) ) { +% if ( length($cust_pay->auth) ) { - + + % } -% if ( length($order_number) ) { +% if ( length($cust_pay->order_number) ) { - + + % } -% } +% } # if ($cust_pay->processor)
Amount$<% $cust_pay->paid %>
Processor<% $processor %>Processor<% $cust_pay->processor %>
Authorization<% $auth %>Authorization<% $cust_pay->auth %>
Order number<% $order_number %>Order number<% $cust_pay->order_number %>
-% } +% } #if $cust_pay
Refund -<% ntable("#cccccc", 2) %> + + @@ -98,7 +95,7 @@ - + % if ( $payby eq 'BILL' ) { @@ -106,18 +103,76 @@ +
Date
Amount$ by <% FS::payby->payname($payby) %>$ by <% FS::payby->payname($payby) %>
Check #
+% } +% elsif ($payby eq 'CHEK') { +% + +% my @cust_payby = (); +% if ( $payby eq 'CARD' ) { +% @cust_payby = $cust_main->cust_payby('CARD','DCRD'); +% } elsif ( $payby eq 'CHEK' ) { +% @cust_payby = $cust_main->cust_payby('CHEK','DCHK'); % } else { +% die "unknown payby $payby"; +% } +% +% my $custpaybynum = length(scalar($cgi->param('custpaybynum'))) +% ? scalar($cgi->param('custpaybynum')) +% : scalar(@cust_payby) && $cust_payby[0]->custpaybynum; +<& /elements/tr-select-cust_payby.html, + 'cust_payby' => \@cust_payby, + 'curr_value' => $custpaybynum, + 'onchange' => 'cust_payby_changed(this)', +&> + + +

+

+> + + +<& /elements/cust_payby_new.html, + 'cust_payby' => \@cust_payby, + 'curr_value' => $custpaybynum, +&> + +
+
+ +% } else { + % } - - Reason - - +

+ +<& /elements/tr-select-reason.html, + 'field' => 'reasonnum', + 'reason_class' => 'F', + 'control_button' => "confirm_refund_button", + 'cgi' => $cgi, +&> +

- +

@@ -130,9 +185,6 @@ <%init> -die "access denied" - unless $FS::CurrentUser::CurrentUser->access_right('Refund payment'); - my $conf = new FS::Conf; my $date_format = $conf->config('date_format') || '%m/%d/%Y'; @@ -143,6 +195,9 @@ my $payinfo = $cgi->param('payinfo'); my $reason = $cgi->param('reason'); my $link = $cgi->param('popup') ? 'popup' : ''; +die "access denied" + unless $FS::CurrentUser::CurrentUser->refund_access_right($payby); + my( $paynum, $cust_pay ) = ( '', '' ); if ( $cgi->param('paynum') =~ /^(\d+)$/ ) { $paynum = $1; @@ -158,6 +213,9 @@ if ( $cgi->param('paynum') =~ /^(\d+)$/ ) { } die "no custnum or paynum specified!" unless $custnum; +my $cust_main = qsearchs( 'cust_main', { 'custnum'=>$custnum } ); +die "unknown custnum $custnum" unless $cust_main; + my $_date = time; my $p1 = popurl(1);