X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fedit%2Fcust_refund.cgi;h=27c4b193759b8548c65c42a481cf5106e99f748a;hp=ba93040662b66148e7ecd41b4103cc2052ee619f;hb=360f89789c45e1fd7cb84b1442d2f0c8353066d9;hpb=d390a44c761d9245f5910e5ef931182fc205eb39 diff --git a/httemplate/edit/cust_refund.cgi b/httemplate/edit/cust_refund.cgi index ba9304066..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) %> + + @@ -106,18 +103,76 @@ +
DateCheck #
+% } +% 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, +&> +

- +

@@ -140,16 +195,8 @@ my $payinfo = $cgi->param('payinfo'); my $reason = $cgi->param('reason'); my $link = $cgi->param('popup') ? 'popup' : ''; -my @rights = (); -push @rights, 'Post refund' if $payby =~ /^(BILL|CASH)$/; -push @rights, 'Post check refund' if $payby eq 'BILL'; -push @rights, 'Post cash refund ' if $payby eq 'CASH'; -push @rights, 'Refund payment' if $payby =~ /^(CARD|CHEK)$/; -push @rights, 'Refund credit card payment' if $payby eq 'CARD'; -push @rights, 'Refund Echeck payment' if $payby eq 'CHEK'; - die "access denied" - unless $FS::CurrentUser::CurrentUser->access_right(\@rights); + unless $FS::CurrentUser::CurrentUser->refund_access_right($payby); my( $paynum, $cust_pay ) = ( '', '' ); if ( $cgi->param('paynum') =~ /^(\d+)$/ ) { @@ -166,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);