X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fedit%2Fcust_refund.cgi;h=32da4543ea081f991d2f839caaafc3872befb9cc;hp=02f65d90ae7a1783cd1ee077ae3f5f47a2718686;hb=ff27c3f36240aee48ed50153dd5d8fe3ac3f2443;hpb=eb9f717502fa1259c30c91cbfedba36f0cc47380 diff --git a/httemplate/edit/cust_refund.cgi b/httemplate/edit/cust_refund.cgi index 02f65d90a..32da4543e 100755 --- a/httemplate/edit/cust_refund.cgi +++ b/httemplate/edit/cust_refund.cgi @@ -1,68 +1,37 @@ -% -% -%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') %> -

+% if ( $link eq 'popup' ) { + <% include('/elements/header-popup.html', $title ) %> +% } else { + <% include("/elements/header.html", $title, '') %> % } +<% include('/elements/error.html') %> -<% small_custview($custnum, $conf->config('countrydefault')) %> +% unless ( $link eq 'popup' ) { + <% small_custview($custnum, $conf->config('countrydefault')) %> +% } -
+ + - +
+ % if ( $cust_pay ) { % % #false laziness w/FS/FS/cust_pay.pm -% my $payby = $cust_pay->payby; +% my $payby = FS::payby->payname($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/; -% -% -
Payment <% ntable("#cccccc", 2) %> @@ -72,14 +41,14 @@ - Date<% time2str("%D",$cust_pay->_date) %> + Date<% time2str($date_format, $cust_pay->_date) %> - Method<% ucfirst(lc($payby)) %> # <% $paymask %> + Method<% $payby %> # <% $paymask %> -% unless ( $paydate ) { # possibly other reasons: i.e. card has since expired +% unless ( $paydate || $cust_pay->payby ne 'CARD' ) { # possibly other reasons: i.e. card has since expired Expiration <% include( '/elements/select-month_year.html', @@ -90,55 +59,108 @@ % } - -% -% #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 ) { - Processor<% $processor %> + Processor + <% $cust_pay->processor %> -% if ( length($auth) ) { +% if ( length($cust_pay->auth) ) { - Authorization<% $auth %> + Authorization + <% $cust_pay->auth %> % } -% if ( length($order_number) ) { +% if ( length($cust_pay->order_number) ) { - Order number<% $order_number %> + Order number + <% $cust_pay->order_number %> % } -% } +% } # if ($cust_pay->processor) -% } +% } #if $cust_pay
Refund <% ntable("#cccccc", 2) %> - Date<% time2str("%D",$_date) %> + Date + <% time2str($date_format, $_date) %> - Amount$ + Amount + $ by <% FS::payby->payname($payby) %> - - Reason - +% if ( $payby eq 'BILL' ) { + + Check # + + +% } else { + +% } + +<& /elements/tr-select-reason.html, + 'field' => 'reasonnum', + 'reason_class' => 'F', + 'control_button' => "confirm_refund_button", + 'cgi' => $cgi, +&> +
- +
-<% include('/elements/footer.html') %> +% if ( $link eq 'popup' ) { + + +% } else { + <% include('/elements/footer.html') %> +% } + +<%init> + +my $conf = new FS::Conf; +my $date_format = $conf->config('date_format') || '%m/%d/%Y'; + +my $custnum = $cgi->param('custnum'); +my $refund = $cgi->param('refund'); +my $payby = $cgi->param('payby'); +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; + $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); + +my $title = 'Refund '. FS::payby->payname($payby). ' payment'; +