first part of ACL and re-skinning work and some other small stuff
[freeside.git] / httemplate / edit / process / cust_bill_pay.cgi
index 16d30bd..fc668bb 100755 (executable)
@@ -1,4 +1,3 @@
-<!-- $Id: cust_bill_pay.cgi,v 1.2 2002-01-30 14:18:08 ivan Exp $ -->
 <%
 
 $cgi->param('paynum') =~ /^(\d*)$/ or die "Illegal paynum!";
@@ -12,21 +11,41 @@ my $cust_main = qsearchs('cust_main', { 'custnum' => $cust_pay->custnum } )
 
 my $custnum = $cust_main->custnum;
 
-my $new = new FS::cust_bill_pay ( {
-  map {
-    $_, scalar($cgi->param($_));
-  #} qw(custnum _date amount invnum)
-  } fields('cust_bill_pay')
-} );
+my $new;
+if ($cgi->param('invnum') =~ /^Refund$/) {
+  $new = new FS::cust_refund ( {
+    'reason'  => 'Refunding payment', #enter reason in UI
+    'refund'  => $cgi->param('amount'),
+    'payby'   => 'BILL',
+    #'_date'   => $cgi->param('_date'),
+    'payinfo' => 'Cash', #enter payinfo in UI
+    'paynum' => $paynum,
+  } );
+} else {
+  $new = new FS::cust_bill_pay ( {
+    map {
+      $_, scalar($cgi->param($_));
+    #} qw(custnum _date amount invnum)
+    } fields('cust_bill_pay')
+  } );
+}
 
 my $error = $new->insert;
 
 if ( $error ) {
+
   $cgi->param('error', $error);
-  print $cgi->redirect(popurl(2). "cust_bill_pay.cgi?". $cgi->query_string );
+  %><%= $cgi->redirect(popurl(2). "cust_bill_pay.cgi?". $cgi->query_string ) %><%
+
 } else {
-  print $cgi->redirect(popurl(3). "view/cust_main.cgi?$custnum");
-}
 
+  #print $cgi->redirect(popurl(3). "view/cust_main.cgi?$custnum");
+
+  %><%= header('Payment application sucessful') %>
+  <SCRIPT TYPE="text/javascript">
+    window.top.location.reload();
+  </SCRIPT>
+
+  </BODY></HTML>
 
-%>
+<% } %>