X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fsearch%2Fbill_batch.cgi;h=cbd7f270a3800c33bd40b45ee5864e5574363375;hb=197e19d52c02f541850ca06f2628d86c2c3b9464;hp=6d7e18fee8cf0f0001722be85267f772ddb34658;hpb=982ded2d929bdcdfa72efa810273f3bc753bf036;p=freeside.git diff --git a/httemplate/search/bill_batch.cgi b/httemplate/search/bill_batch.cgi index 6d7e18fee..cbd7f270a 100755 --- a/httemplate/search/bill_batch.cgi +++ b/httemplate/search/bill_batch.cgi @@ -1,3 +1,18 @@ +% my $batchnum = $cgi->param('download'); +% if ( $batchnum =~ /^\d+$/ ) { +% $cgi->delete('download'); + +Starting download... + + +<& /elements/footer.html &> +% } +% else { <% include( 'elements/search.html', 'title' => 'Invoice Batches', 'name_singular' => 'batch', @@ -25,22 +40,14 @@ sub { $statusmap{shift->status}; }, - sub { shift->status eq 'O' ? - 'Download and close' : 'Download' - }, + \&download_link, ], 'links' => [ $link, $link, $link, - $dlink, - ], - 'style' => [ - '', - '', '', - sub { shift->status eq 'O' ? "b" : '' }, - ], + ], 'really_disable_download' => 1, 'agent_virt' => 1, 'agent_null_right' => [ 'Process global invoice batches', 'Configuration' ], @@ -49,6 +56,7 @@ ) %> +%} <%init> my $curuser = $FS::CurrentUser::CurrentUser; @@ -67,10 +75,28 @@ my $count_query = "SELECT COUNT(*) FROM bill_batch WHERE". # $extra_sql AND " #my $extra_sql = ''; # may add something here later my $link = [ "${p}view/bill_batch.cgi?batchnum=", 'batchnum' ]; -my $dlink = sub { - [ "${p}view/bill_batch.cgi?start_download=1;". - (shift->status eq 'O' ? 'close=1;' : ''). - 'batchnum=', - 'batchnum'] -}; + +my $download_id = int(rand(1000000)); + +sub download_link { + my $batch = shift; + my $batchnum = $batch->batchnum; + my $close = ($batch->status eq 'O' ? ';close=1' : ''); + my $html = qq!
+ + + !; + $html .= include('/elements/progress-init.html', + "Download$batchnum", + [ 'batchnum', 'close' ], + $p.'misc/process/bill_batch-print.html', + { url => $p."search/bill_batch.cgi?download=$batchnum" }, + "batch$batchnum" #key + ); + $html .= '' . + ($batch->status eq 'O' ? 'Download and close' : 'Download'); + $html .= '
'; + return $html; +} +