X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fbill_batch.pm;h=854a90a6c4581a9da7dc5f24a6fec95bfbd42158;hb=0586dafb71594726138cd3b7b721b9f1a0b79ae2;hp=1a46db0b21ffa62153a1ee309d41cf37a5759f98;hpb=007fd3026ade508a9d88b436575a4797d003280a;p=freeside.git diff --git a/FS/FS/bill_batch.pm b/FS/FS/bill_batch.pm index 1a46db0b2..854a90a6c 100644 --- a/FS/FS/bill_batch.pm +++ b/FS/FS/bill_batch.pm @@ -1,16 +1,13 @@ package FS::bill_batch; +use base qw(FS::Record); use strict; -use vars qw( @ISA $me $DEBUG ); +use vars qw( $me $DEBUG ); use CAM::PDF; use FS::Conf; -use FS::Record qw( qsearch qsearchs dbh ); -use FS::agent; -use FS::cust_bill_batch; -@ISA = qw( FS::Record ); $me = '[ FS::bill_batch ]'; -$DEBUG=0; +$DEBUG = 0; sub table { 'bill_batch' } @@ -61,10 +58,12 @@ sub print_pdf { my $self = shift; my $job = shift; $job->update_statustext(0) if $job; - my @invoices = sort { $a->invnum <=> $b->invnum } - qsearch('cust_bill_batch', { batchnum => $self->batchnum }); + my @invoices = sort { $a->invnum <=> $b->invnum } $self->cust_bill_batch; return "No invoices in batch ".$self->batchnum.'.' if !@invoices; + my $conf = FS::Conf->new; + my $duplex = $conf->exists('invoice_print_pdf-duplex'); + my $pdf_out; my $num = 0; foreach my $invoice (@invoices) { @@ -77,6 +76,13 @@ sub print_pdf { else { $pdf_out = CAM::PDF->new($part); } + if ( $duplex ) { + my $n = $pdf_out->numPages; + if ( $n % 2 == 1 ) { + # then insert a blank page so we end on an even number + $pdf_out->duplicatePage($n, 1); + } + } if($job) { # update progressbar $num++; @@ -118,13 +124,6 @@ sub check { Returns the agent (see L) for this invoice batch. -=cut - -sub agent { - my $self = shift; - qsearchs( 'agent', { 'agentnum' => $self->agentnum } ); -} - =back =head1 SUBROUTINES @@ -133,13 +132,11 @@ sub agent { =cut -use Storable 'thaw'; use Data::Dumper; -use MIME::Base64; sub process_print_pdf { my $job = shift; - my $param = thaw(decode_base64(shift)); + my $param = shift; warn Dumper($param) if $DEBUG; die "no batchnum specified!\n" if ! exists($param->{batchnum}); my $batch = FS::bill_batch->by_key($param->{batchnum});