From 6af1b1bfa25e5ececef5e0dcd38b55917121cee2 Mon Sep 17 00:00:00 2001 From: jeff Date: Sat, 26 Aug 2006 23:15:14 +0000 Subject: batch refactor continued --- httemplate/search/pay_batch.cgi | 93 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100755 httemplate/search/pay_batch.cgi (limited to 'httemplate/search/pay_batch.cgi') diff --git a/httemplate/search/pay_batch.cgi b/httemplate/search/pay_batch.cgi new file mode 100755 index 000000000..fcfa8bef2 --- /dev/null +++ b/httemplate/search/pay_batch.cgi @@ -0,0 +1,93 @@ +% +% +%my %statusmap = ('I'=>'In Transit', 'O'=>'Open', 'R'=>'Resolved'); +%my $hashref = {}; +%my $count_query = 'SELECT COUNT(*) FROM pay_batch'; +% +%my($begin, $end) = ( '', '' ); +% +%my @where; +%if ( $cgi->param('beginning') +% && $cgi->param('beginning') =~ /^([ 0-9\-\/]{0,10})$/ ) { +% $begin = str2time($1); +% push @where, "download >= $begin"; +%} +%if ( $cgi->param('ending') +% && $cgi->param('ending') =~ /^([ 0-9\-\/]{0,10})$/ ) { +% $end = str2time($1) + 86399; +% push @where, "download < $end"; +%} +% +%my @status; +%if ( $cgi->param('open') ) { +% push @status, "O"; +%} +% +%if ( $cgi->param('intransit') ) { +% push @status, "I"; +%} +% +%if ( $cgi->param('resolved') ) { +% push @status, "R"; +%} +% +%push @where, +% scalar(@status) ? q!(status='! . join(q!' OR status='!, @status) . q!')! +% : q!status='X'!; # kludgy, X is unused at present +% +%my $extra_sql = scalar(@where) ? 'WHERE ' . join(' AND ', @where) : ''; +% +% +<% include( 'elements/search.html', + 'title' => 'Credit Card Batches', + 'menubar' => [ 'Main Menu' => $p, ], + 'name' => 'batches', + 'query' => { 'table' => 'pay_batch', + 'hashref' => $hashref, + 'extra_sql' => "$extra_sql ORDER BY batchnum DESC", + }, + 'count_query' => "$count_query $extra_sql", + 'header' => [ 'Batch', + 'First Download', + 'Last Upload', + 'Item Count', + 'Amount', + 'Status', + ], + 'align' => 'lllrrl', + 'fields' => [ 'batchnum', + sub { + my $_date = shift->download; + $_date ? time2str("%a %b %e %T %Y", $_date) : '' + }, + sub { + my $_date = shift->upload; + $_date ? time2str("%a %b %e %T %Y", $_date) : '' + }, + sub { + my $st = "SELECT COUNT(*) from cust_pay_batch WHERE batchnum=" . shift->batchnum; + my $sth = dbh->prepare($st) + or die dbh->errstr. "doing $st"; + $sth->execute + or die "Error executing \"$st\": ". $sth->errstr; + $sth->fetchrow_arrayref->[0]; + }, + sub { + my $st = "SELECT SUM(amount) from cust_pay_batch WHERE batchnum=" . shift->batchnum; + my $sth = dbh->prepare($st) + or die dbh->errstr. "doing $st"; + $sth->execute + or die "Error executing \"$st\": ". $sth->errstr; + $sth->fetchrow_arrayref->[0]; + }, + sub { + $statusmap{shift->status}; + }, + ], + 'links' => [ [ "${p}search/cust_pay_batch.cgi?batchnum=", 'batchnum',], + ], + ) + +%> + + -- cgit v1.2.1 From 22c70177969f30e2e419b32cb5d475c143f10b12 Mon Sep 17 00:00:00 2001 From: ivan Date: Sun, 8 Oct 2006 08:17:06 +0000 Subject: add menu items for credit card batching, debug last-minute changes to payby.pm, add ACL for re-processing batches, separate CARD and CHEK batches, fixed defaults for batch formats --- httemplate/search/pay_batch.cgi | 128 +++++++++++++++++++++++++--------------- 1 file changed, 81 insertions(+), 47 deletions(-) (limited to 'httemplate/search/pay_batch.cgi') diff --git a/httemplate/search/pay_batch.cgi b/httemplate/search/pay_batch.cgi index fcfa8bef2..7b2b9f00b 100755 --- a/httemplate/search/pay_batch.cgi +++ b/httemplate/search/pay_batch.cgi @@ -37,55 +37,89 @@ % %my $extra_sql = scalar(@where) ? 'WHERE ' . join(' AND ', @where) : ''; % +%my $link = [ "${p}search/cust_pay_batch.cgi?batchnum=", 'batchnum' ]; % <% include( 'elements/search.html', - 'title' => 'Credit Card Batches', - 'menubar' => [ 'Main Menu' => $p, ], - 'name' => 'batches', - 'query' => { 'table' => 'pay_batch', - 'hashref' => $hashref, - 'extra_sql' => "$extra_sql ORDER BY batchnum DESC", - }, - 'count_query' => "$count_query $extra_sql", - 'header' => [ 'Batch', - 'First Download', - 'Last Upload', - 'Item Count', - 'Amount', - 'Status', - ], - 'align' => 'lllrrl', - 'fields' => [ 'batchnum', - sub { - my $_date = shift->download; - $_date ? time2str("%a %b %e %T %Y", $_date) : '' - }, - sub { - my $_date = shift->upload; - $_date ? time2str("%a %b %e %T %Y", $_date) : '' - }, - sub { - my $st = "SELECT COUNT(*) from cust_pay_batch WHERE batchnum=" . shift->batchnum; - my $sth = dbh->prepare($st) - or die dbh->errstr. "doing $st"; - $sth->execute - or die "Error executing \"$st\": ". $sth->errstr; - $sth->fetchrow_arrayref->[0]; - }, - sub { - my $st = "SELECT SUM(amount) from cust_pay_batch WHERE batchnum=" . shift->batchnum; - my $sth = dbh->prepare($st) - or die dbh->errstr. "doing $st"; - $sth->execute - or die "Error executing \"$st\": ". $sth->errstr; - $sth->fetchrow_arrayref->[0]; - }, - sub { - $statusmap{shift->status}; - }, - ], - 'links' => [ [ "${p}search/cust_pay_batch.cgi?batchnum=", 'batchnum',], - ], + 'title' => 'Payment Batches', + 'name_singular' => 'batch', + 'query' => { 'table' => 'pay_batch', + 'hashref' => $hashref, + 'extra_sql' => "$extra_sql ORDER BY batchnum DESC", + }, + 'count_query' => "$count_query $extra_sql", + 'header' => [ 'Batch', + 'Type', + 'First Download', + 'Last Upload', + 'Item Count', + 'Amount', + 'Status', + ], + 'align' => 'rcllrrc', + 'fields' => [ 'batchnum', + sub { + FS::payby->shortname(shift->payby); + }, + sub { + my $self = shift; + my $_date = $self->download; + if ( $_date ) { + time2str("%a %b %e %T %Y", $_date); + } elsif ( $self->status eq 'O' ) { + 'Download batch'; + } else { + ''; + } + }, + sub { + my $self = shift; + my $_date = $self->upload; + if ( $_date ) { + time2str("%a %b %e %T %Y", $_date); + } elsif ( $self->status eq 'I' ) { + 'Upload results'; + } else { + ''; + } + }, + sub { + my $st = "SELECT COUNT(*) from cust_pay_batch WHERE batchnum=" . shift->batchnum; + my $sth = dbh->prepare($st) + or die dbh->errstr. "doing $st"; + $sth->execute + or die "Error executing \"$st\": ". $sth->errstr; + $sth->fetchrow_arrayref->[0]; + }, + sub { + my $st = "SELECT SUM(amount) from cust_pay_batch WHERE batchnum=" . shift->batchnum; + my $sth = dbh->prepare($st) + or die dbh->errstr. "doing $st"; + $sth->execute + or die "Error executing \"$st\": ". $sth->errstr; + $sth->fetchrow_arrayref->[0]; + }, + sub { + $statusmap{shift->status}; + }, + ], + 'links' => [ + $link, + '', + sub { shift->status eq 'O' ? $link : '' }, + sub { shift->status eq 'I' ? $link : '' }, + ], + 'size' => [ + '', + '', + sub { shift->status eq 'O' ? "+1" : '' }, + sub { shift->status eq 'I' ? "+1" : '' }, + ], + 'style' => [ + '', + '', + sub { shift->status eq 'O' ? "b" : '' }, + sub { shift->status eq 'I' ? "b" : '' }, + ], ) %> -- cgit v1.2.1 From 590603ecaea3184f64530755a76626be8205da49 Mon Sep 17 00:00:00 2001 From: ivan Date: Sat, 3 Feb 2007 11:36:30 +0000 Subject: add customer status column to customer & most other reports. also put the C in ACL in the search/ and graph/ directories. --- httemplate/search/pay_batch.cgi | 85 +++++++++++++++++++++-------------------- 1 file changed, 44 insertions(+), 41 deletions(-) (limited to 'httemplate/search/pay_batch.cgi') diff --git a/httemplate/search/pay_batch.cgi b/httemplate/search/pay_batch.cgi index 7b2b9f00b..cb2171799 100755 --- a/httemplate/search/pay_batch.cgi +++ b/httemplate/search/pay_batch.cgi @@ -1,44 +1,3 @@ -% -% -%my %statusmap = ('I'=>'In Transit', 'O'=>'Open', 'R'=>'Resolved'); -%my $hashref = {}; -%my $count_query = 'SELECT COUNT(*) FROM pay_batch'; -% -%my($begin, $end) = ( '', '' ); -% -%my @where; -%if ( $cgi->param('beginning') -% && $cgi->param('beginning') =~ /^([ 0-9\-\/]{0,10})$/ ) { -% $begin = str2time($1); -% push @where, "download >= $begin"; -%} -%if ( $cgi->param('ending') -% && $cgi->param('ending') =~ /^([ 0-9\-\/]{0,10})$/ ) { -% $end = str2time($1) + 86399; -% push @where, "download < $end"; -%} -% -%my @status; -%if ( $cgi->param('open') ) { -% push @status, "O"; -%} -% -%if ( $cgi->param('intransit') ) { -% push @status, "I"; -%} -% -%if ( $cgi->param('resolved') ) { -% push @status, "R"; -%} -% -%push @where, -% scalar(@status) ? q!(status='! . join(q!' OR status='!, @status) . q!')! -% : q!status='X'!; # kludgy, X is unused at present -% -%my $extra_sql = scalar(@where) ? 'WHERE ' . join(' AND ', @where) : ''; -% -%my $link = [ "${p}search/cust_pay_batch.cgi?batchnum=", 'batchnum' ]; -% <% include( 'elements/search.html', 'title' => 'Payment Batches', 'name_singular' => 'batch', @@ -123,5 +82,49 @@ ) %> +<%init> +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Financial reports') + || $FS::CurrentUser::CurrentUser->access_right('Process batches'); +my %statusmap = ('I'=>'In Transit', 'O'=>'Open', 'R'=>'Resolved'); +my $hashref = {}; +my $count_query = 'SELECT COUNT(*) FROM pay_batch'; + +my($begin, $end) = ( '', '' ); + +my @where; +if ( $cgi->param('beginning') + && $cgi->param('beginning') =~ /^([ 0-9\-\/]{0,10})$/ ) { + $begin = str2time($1); + push @where, "download >= $begin"; +} +if ( $cgi->param('ending') + && $cgi->param('ending') =~ /^([ 0-9\-\/]{0,10})$/ ) { + $end = str2time($1) + 86399; + push @where, "download < $end"; +} + +my @status; +if ( $cgi->param('open') ) { + push @status, "O"; +} + +if ( $cgi->param('intransit') ) { + push @status, "I"; +} + +if ( $cgi->param('resolved') ) { + push @status, "R"; +} + +push @where, + scalar(@status) ? q!(status='! . join(q!' OR status='!, @status) . q!')! + : q!status='X'!; # kludgy, X is unused at present + +my $extra_sql = scalar(@where) ? 'WHERE ' . join(' AND ', @where) : ''; + +my $link = [ "${p}search/cust_pay_batch.cgi?batchnum=", 'batchnum' ]; + + -- cgit v1.2.1