Merge branch 'master' of git.freeside.biz:/home/git/freeside
[freeside.git] / httemplate / edit / process / cust_refund.cgi
index 389bc99..599c8b8 100755 (executable)
@@ -31,18 +31,23 @@ my $link    = $cgi->param('popup') ? 'popup' : '';
 my $payby = $cgi->param('payby');
 
 my @rights = ();
-push @rights, 'Post refund'                if $payby /^(BILL|CASH)$/;
+push @rights, 'Post refund'                if $payby =~ /^(BILL|CASH|MCRD)$/;
 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 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);
 
-my $error = '';
-if ( $payby =~ /^(CARD|CHEK)$/ ) { 
+$cgi->param('reasonnum') =~ /^(-?\d+)$/ or die "Illegal reasonnum";
+my ($reasonnum, $error) = $m->comp('/misc/process/elements/reason');
+$cgi->param('reasonnum', $reasonnum) unless $error;
+
+if ( $error ) {
+  # do nothing
+} elsif ( $payby =~ /^(CARD|CHEK)$/ ) { 
   my %options = ();
   my $bop = $FS::payby::payby2bop{$1};
   $cgi->param('refund') =~ /^(\d*)(\.\d{2})?$/