X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fsearch%2Fcust_pay_batch.cgi;h=800df87029f1a7f9660bf34ee4b4452d5d1a0182;hb=825422583d2d510c0f552c513bef4cc1ac921950;hp=4a2248726d3a960634cd0a930b6b530089a3c2c2;hpb=38dd3ed3eeda0a467e1b4d8cedd741fc62aedc9c;p=freeside.git
diff --git a/httemplate/search/cust_pay_batch.cgi b/httemplate/search/cust_pay_batch.cgi
index 4a2248726..800df8702 100755
--- a/httemplate/search/cust_pay_batch.cgi
+++ b/httemplate/search/cust_pay_batch.cgi
@@ -4,6 +4,7 @@
'query' => $sql_query,
'count_query' => $count_query,
'html_init' => $pay_batch ? $html_init : '',
+ 'disable_download' => 1,
'header' => [ '#',
'Inv #',
'Customer',
@@ -59,14 +60,16 @@
my $conf = new FS::Conf;
+my $curuser = $FS::CurrentUser::CurrentUser;
+
die "access denied"
- unless $FS::CurrentUser::CurrentUser->access_right('Financial reports')
- || $FS::CurrentUser::CurrentUser->access_right('Process batches')
+ unless $curuser->access_right('Financial reports')
+ || $curuser->access_right('Process batches')
+ || $curuser->access_right('Process global batches')
|| ( $cgi->param('custnum')
&& ( $conf->exists('batch-enable')
|| $conf->config('batch-enable_payby')
)
- #&& $FS::CurrentUser::CurrentUser->access_right('View customer batched payments')
);
my( $count_query, $sql_query );
@@ -108,7 +111,12 @@ unless ($pay_batch){
$orderby = "pay_batch.download,paybatchnum";
}
-push @search, $FS::CurrentUser::CurrentUser->agentnums_sql;
+push @search, $curuser->agentnums_sql({ table => 'cust_main' });
+
+push @search, $curuser->agentnums_sql({ table => 'pay_batch',
+ null_right => 'Process global batches',
+ });
+
my $search = ' WHERE ' . join(' AND ', @search);
$count_query = 'SELECT COUNT(*) FROM cust_pay_batch AS cpb ' .
@@ -124,113 +132,9 @@ $sql_query = "SELECT paybatchnum,invnum,custnum,cpb.last,cpb.first," .
'LEFT JOIN pay_batch USING ( batchnum ) ' .
"$search ORDER BY $orderby";
-my $html_init = '
';
+my $html_init = '';
if ( $pay_batch ) {
- my $fixed = $conf->config('batch-fixed_format-'. $pay_batch->payby);
- if (
- $pay_batch->status eq 'O'
- || ( $pay_batch->status eq 'I'
- && $FS::CurrentUser::CurrentUser->access_right('Reprocess batches')
- )
- || ( $pay_batch->status eq 'R'
- && $FS::CurrentUser::CurrentUser->access_right('Redownload resolved batches')
- )
- ) {
- $html_init .= qq!
!;
- }
-
- if (
- $pay_batch->status eq 'I'
- || ( $pay_batch->status eq 'R'
- && $FS::CurrentUser::CurrentUser->access_right('Reprocess batches')
- )
- ) {
- $html_init .= ''.
- include('/elements/form-file_upload.html',
- 'name' => 'FileUpload',
- 'action' => "$p/misc/upload-batch.cgi",
- 'num_files' => 1,
- 'fields' => [ 'batchnum', 'format' ],
- 'message' => 'Batch results uploaded.',
- ) .
- 'Upload results
'.
- include('/elements/file-upload.html',
- 'field' => 'file',
- 'label' => 'Filename',
- 'no_table'=> 1
- ).
- '
'
- ;
- if ( $fixed and $fixed eq 'td_eft1464' ) {
- # special case, this one has two upload formats
- $html_init .= qq!Format !.
- qq!
!;
- }
- elsif ( $fixed ) {
- $html_init .= qq!!;
- } else {
- # should pull this from %import_info
- $html_init .= qq!Format !.
- qq!
!;
- }
- $html_init .= qq!!;
- $html_init .= '
';
- if ( $conf->exists('batch-manual_approval')
- and $conf->config('batch-fixed_format-CHEK') eq 'td_eft1464'
- and $pay_batch->status eq 'I'
- and $pay_batch->payby eq 'CHEK' ) {
- $html_init .= qq!
!
- }
- }
- $html_init .= '
';
-}
-
-if ($pay_batch) {
- my $sth = dbh->prepare($count_query) or die dbh->errstr. "doing $count_query";
- $sth->execute or die "Error executing \"$count_query\": ". $sth->errstr;
- my $cards = $sth->fetchrow_arrayref->[0];
-
- my $st = "SELECT SUM(amount) from cust_pay_batch WHERE batchnum=". $batchnum;
- $sth = dbh->prepare($st) or die dbh->errstr. "doing $st";
- $sth->execute or die "Error executing \"$st\": ". $sth->errstr;
- my $total = $sth->fetchrow_arrayref->[0];
-
- $html_init .= "$cards credit card payments batched
\$" .
- sprintf("%.2f", $total) ." total in batch
";
+ $html_init = include('elements/cust_pay_batch_top.html',
+ 'pay_batch' => $pay_batch);
}
-
%init>