%my( $count_query, $sql_query ); %my $hashref = {}; %my @search = (); %my $orderby = 'paybatchnum'; % %my( $pay_batch, $batchnum ) = ( '', ''); %if ( $cgi->param('batchnum') && $cgi->param('batchnum') =~ /^(\d+)$/ ) { % push @search, "batchnum = $1"; % $pay_batch = qsearchs('pay_batch', { 'batchnum' => $1 } ); % die "Batch $1 not found!" unless $pay_batch; % $batchnum = $pay_batch->batchnum; %} % %if ( $cgi->param('payby') ) { % $cgi->param('payby') =~ /^(CARD|CHEK)$/ % or die "illegal payby " . $cgi->param('payby'); % % push @search, "cust_pay_batch.payby = '$1'"; %} % %if ( not $cgi->param('dcln') ) { % push @search, "cpb.status IS DISTINCT FROM 'Approved'"; %} % %my ($beginning, $ending) = FS::UI::Web::parse_beginning_ending($cgi); %unless ($pay_batch){ % push @search, "pay_batch.upload >= $beginning" if ($beginning); % push @search, "pay_batch.upload <= $ending" if ($ending < 4294967295);#2^32-1 % $orderby = "pay_batch.download,paybatchnum"; %} % %push @search, $FS::CurrentUser::CurrentUser->agentnums_sql; %my $search = ' WHERE ' . join(' AND ', @search); % %$count_query = 'SELECT COUNT(*) FROM cust_pay_batch AS cpb ' . % 'LEFT JOIN cust_main USING ( custnum ) ' . % 'LEFT JOIN pay_batch USING ( batchnum )' . % $search; % %#grr %$sql_query = "SELECT paybatchnum,invnum,custnum,cpb.last,cpb.first," . % "cpb.payname,cpb.payinfo,cpb.exp,amount,cpb.status " . % "FROM cust_pay_batch AS cpb " . % 'LEFT JOIN cust_main USING ( custnum ) ' . % 'LEFT JOIN pay_batch USING ( batchnum ) ' . % "$search ORDER BY $orderby"; % %my $html_init = ''; %if ( $pay_batch ) { % my $conf = new FS::Conf; % 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') % ) % ) { % $html_init .= qq!