[freeside-commits] freeside/httemplate/view bill_batch.cgi, NONE, 1.1
Mark Wells
mark at wavetail.420.am
Tue Jun 8 15:25:03 PDT 2010
Update of /home/cvs/cvsroot/freeside/httemplate/view
In directory wavetail.420.am:/tmp/cvs-serv29944/httemplate/view
Added Files:
bill_batch.cgi
Log Message:
RT#947: batch download of invoice PDFs
--- NEW FILE: bill_batch.cgi ---
% if($magic eq 'print') {
<% include('/elements/header.html', "Download Batch") %>
<FORM NAME="OneTrueForm">
<INPUT TYPE="hidden" NAME="batchnum" VALUE="<% $batchnum %>">
% $cgi->delete('magic');
<% include('/elements/progress-init.html',
'OneTrueForm',
[ 'batchnum' ],
$p.'misc/process/bill_batch-print.html',
{'url' => $cgi->self_url . ';magic=download'},
'',
) %></FORM>
<SCRIPT TYPE="text/javascript">process();</SCRIPT>
<% include('/elements/footer.html') %>
% }
%
% elsif($magic eq 'download') {
% $m->clear_buffer;
% $r->content_type('application/pdf');
% $r->headers_out->add('Content-Disposition' => 'attachment;filename="invoice_batch_'.$batchnum.'.pdf"');
<% $batch->pdf %>
% $batch->pdf('');
% my $error = $batch->replace;
% warn "error deleting cached PDF: '$error'\n" if $error;
% }
% else {
<% include('/search/elements/search.html',
'title' => $close ?
"Batch $batchnum closed." :
"Invoice Batch $batchnum",
'name' => 'invoices',
'query' => { 'table' => 'cust_bill_batch',
'select' => join(', ',
'cust_bill.*',
FS::UI::Web::cust_sql_fields(),
'cust_main.custnum AS cust_main_custnum',
),
'hashref' => { },
'addl_from' =>
'LEFT JOIN cust_bill USING ( invnum ) '.
'LEFT JOIN cust_main USING ( custnum )',
'extra_sql' => '',
" WHERE batchnum = $batchnum",
},
'count_query' => "SELECT COUNT(*) FROM cust_bill_batch WHERE batchnum = $batchnum",
'html_init' => $html_init,
'header' => [ 'Invoice #',
'Amount',
'Date',
'Customer',
],
'fields' => [ sub { shift->cust_bill->display_invnum },
sub { sprintf($money_char.'%.2f',
shift->cust_bill->charged ) },
sub { time2str('%b %d %Y',
shift->cust_bill->_date ) },
sub { shift->cust_bill->cust_main->name },
],
'align' => 'rrll',
'links' => [ ($link) x 3, $clink,
],
'really_disable_download' => 1,
) %>
% }
<%init>
die "access denied"
unless $FS::CurrentUser::CurrentUser->access_right('View invoices');
use Data::Dumper;
warn Dumper($cgi->Vars);
my $conf = new FS::Conf;
my $batch;
my $batchnum = $cgi->param('batchnum');
$batch = FS::bill_batch->by_key($batchnum);
die "Batch '$batchnum' not found!\n" if !$batch;
my $magic = $cgi->param('magic');
my $html_init = '';
my $close = $cgi->param('close');
$batch->close if $close;
if(!$magic) {
$cgi->param('magic' => 'print');
$cgi->delete('close');
$html_init = '<A HREF="'.$cgi->self_url.'">Download this batch</A><BR>';
if($batch->status eq 'O') {
$cgi->param('close' => 1);
$cgi->delete('magic');
$html_init .= '<A HREF="'.$cgi->self_url.'">Close this batch</A><BR>';
}
$html_init .= '<BR>';
}
my $link = [ "$p/view/cust_bill.cgi?", 'invnum' ];
my $clink = [ "$p/view/cust_main.cgi?", 'custnum' ];
my $money_char = $conf->config('money_char') || '$';
</%init>
More information about the freeside-commits
mailing list