%if ( $success ) { <& /elements/header-popup.html, mt("Credit voided") &> %} else { <& /elements/header-popup.html, mt('Void credit') &> <& /elements/error.html &>

<% mt('Void this credit?') |h %>

<& /elements/tr-select-reason.html, 'field' => 'reasonnum', 'reason_class' => 'X', 'cgi' => $cgi &>

         " onClick="parent.cClick();">

%} <%init> die "access denied" unless $FS::CurrentUser::CurrentUser->access_right('Void credit'); #untaint crednum my $crednum = $cgi->param('crednum'); if ($crednum) { $crednum =~ /^(\d+)$/ || die "Illegal crednum"; } else { my($query) = $cgi->keywords; $query =~ /^(\d+)/ || die "Illegal crednum"; $crednum = $1; } my $cust_credit = qsearchs('cust_credit',{'crednum'=>$crednum}) || die "Credit not found"; my $success = 0; if ($cgi->param('confirm_void_credit')) { #untaint reasonnum / create new reason my ($reasonnum, $error) = $m->comp('process/elements/reason'); if (!$reasonnum) { $error = 'Reason required'; } else { my $reason = qsearchs('reason', { 'reasonnum' => $reasonnum }) || die "Reason num $reasonnum not found in database"; $error = $cust_credit->void($reason) unless $error; } if ($error) { $cgi->param('error',$error); } else { $success = 1; } }