summaryrefslogtreecommitdiff
path: root/httemplate
diff options
context:
space:
mode:
authorjeff <jeff>2007-03-21 04:01:52 +0000
committerjeff <jeff>2007-03-21 04:01:52 +0000
commitfa81e2694906ade89f6b7260c621cd86f10cdba0 (patch)
tree791588e5290d964ee029a07cd20a307caf10fa76 /httemplate
parent8591b5a157a2ee24c1467718eb0ce731a388f5c1 (diff)
ticket 1436, ACH export format, return processing and autopost
Diffstat (limited to 'httemplate')
-rw-r--r--httemplate/misc/download-batch.cgi43
-rwxr-xr-xhttemplate/search/cust_pay_batch.cgi2
2 files changed, 44 insertions, 1 deletions
diff --git a/httemplate/misc/download-batch.cgi b/httemplate/misc/download-batch.cgi
index 8d6c94969..da975376b 100644
--- a/httemplate/misc/download-batch.cgi
+++ b/httemplate/misc/download-batch.cgi
@@ -23,6 +23,8 @@
<% sprintf( '$$E-xactBatchFileV1.0$$%s:%03u$$%s',$sdate,$pay_batch->batchnum, $origid)
%>
%
+%}elsif ($format eq "ach-spiritone"){
+%# 1;
%}else{
% die "Unknown format for batch in batchconfig. \n";
%}
@@ -93,6 +95,16 @@
<% $cust_pay_batch->paybatchnum %>,<% $cust_pay_batch->custnum %>,<% $cust_pay_batch->invnum %>,"<% $payname %>",00,<% $cust_pay_batch->payinfo %>,<% $cust_pay_batch->amount %>,<% $exp %>,,
%
%
+% }elsif ($format eq "ach-spiritone"){
+%
+% my( $account, $aba ) = split( '@', $cust_pay_batch->payinfo );
+% my $payname=$cust_pay_batch->payname; $payname =~ tr/",/ /; #payinfo too?
+% my $batchline = qq!"$payname","!.$cust_pay_batch->paybatchnum.
+% qq!","$aba","$account","27","!.$cust_pay_batch->amount.
+% qq!","27","0.00"!;
+% push @batchlines, $batchline;
+<% $batchline %>
+%
% } else {
% die "I'm already dead, but you did not know that.\n";
% }
@@ -116,11 +128,12 @@
% #1;
%} elsif ($format eq "csv-chase_canada-E-xactBatch"){
% #1;
+%} elsif ($format eq "ach-spiritone"){
+% #1;
%} else {
% die "I'm already dead (again), but you did not know that.\n";
%}
%
-%$dbh->commit or die $dbh->errstr if $oldAutoCommit;
<%init>
my $conf=new FS::Conf;
@@ -142,6 +155,13 @@ if ( $cgi->param('format') =~ /^([\w\- ]+)$/ ) {
$format = $conf->config('batch-default_format');
}
+my $autopost;
+if ( $format eq 'ach-spiritone' ) {
+ $autopost = 1;
+}else{
+ $autopost = 0;
+}
+
my $oldAutoCommit = $FS::UID::AutoCommit;
local $FS::UID::AutoCommit = 0;
my $dbh = dbh;
@@ -168,4 +188,25 @@ my $cdate = sprintf("%02d", $date[3]).sprintf("%02d", $date[4] + 1).
my $sdate = sprintf("%02d", $date[5] % 100).'/'.sprintf("%02d", $date[4] + 1).
'/'.sprintf("%02d", $date[3]);
+my @batchlines = ();
</%init>
+<%cleanup>
+if ($autopost) {
+ my $dir = $FS::UID::conf_dir. "cache.". $FS::UID::datasrc;
+ my $fh = new File::Temp(
+ TEMPLATE => 'paybatch.'. $batchnum .'.XXXXXXXX',
+ DIR => $dir,
+ ) or die "can't open temp file: $!\n";
+
+ print $fh map{ "$_\n" } @batchlines;
+ seek $fh, 0, 0;
+
+ $error = $pay_batch->import_results( 'filehandle' => $fh,
+ 'format' => $format,
+ );
+ die $error if $error;
+}
+
+$dbh->commit or die $dbh->errstr if $oldAutoCommit;
+
+</%cleanup>
diff --git a/httemplate/search/cust_pay_batch.cgi b/httemplate/search/cust_pay_batch.cgi
index e378ffae7..c678febf1 100755
--- a/httemplate/search/cust_pay_batch.cgi
+++ b/httemplate/search/cust_pay_batch.cgi
@@ -142,6 +142,7 @@ if ( $pay_batch ) {
qq!<OPTION VALUE="csv-chase_canada-E-xactBatch">CSV file for Chase Canada E-xactBatch</OPTION>!.
qq!<OPTION VALUE="PAP">80 byte file for TD Canada Trust PAP Batch</OPTION>!.
qq!<OPTION VALUE="BoM">Bank of Montreal ECA batch</OPTION>!.
+ qq!<OPTION VALUE="ach-spiritone">Spiritone ACH batch</OPTION>!.
qq!</SELECT>!;
}
$html_init .= qq!<INPUT TYPE="hidden" NAME="batchnum" VALUE="$batchnum"><INPUT TYPE="submit" VALUE="Download"></FORM><BR>!;
@@ -165,6 +166,7 @@ if ( $pay_batch ) {
qq!<OPTION VALUE="csv-chase_canada-E-xactBatch">CSV file for Chase Canada E-xactBatch</OPTION>!.
qq!<OPTION VALUE="PAP">264 byte results for TD Canada Trust PAP Batch</OPTION>!.
qq!<OPTION VALUE="BoM">Bank of Montreal ECA results</OPTION>!.
+ qq!<OPTION VALUE="ach-spiritone">Spiritone ACH batch</OPTION>!.
qq!</SELECT><BR>!;
}
$html_init .= qq!<INPUT TYPE="hidden" NAME="batchnum" VALUE="$batchnum">!;