X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fbill_batch.pm;h=fb41e0e6b18f9bca38332f879729daad2bc6f5f0;hb=0ce1f788031c5eaac0c620add539730dd87e3113;hp=ec5c194562c9e204817eca8e029106ccc3670bdf;hpb=982ded2d929bdcdfa72efa810273f3bc753bf036;p=freeside.git diff --git a/FS/FS/bill_batch.pm b/FS/FS/bill_batch.pm index ec5c19456..fb41e0e6b 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,8 +58,7 @@ 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 $pdf_out; @@ -84,6 +80,7 @@ sub print_pdf { die $error if $error; } } + $job->update_statustext(100, 'Combining invoices') if $job; return $pdf_out->toPDF; } @@ -117,13 +114,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 @@ -144,6 +134,11 @@ sub process_print_pdf { my $batch = FS::bill_batch->by_key($param->{batchnum}); die "batch '$param->{batchnum}' not found!\n" if !$batch; + if ( $param->{'close'} ) { + my $error = $batch->close; + die $error if $error; + } + my $pdf = $batch->print_pdf($job); $batch->pdf($pdf); my $error = $batch->replace;