diff options
author | mark <mark> | 2011-07-30 23:13:40 +0000 |
---|---|---|
committer | mark <mark> | 2011-07-30 23:13:40 +0000 |
commit | 007fd3026ade508a9d88b436575a4797d003280a (patch) | |
tree | c82742a1cfb9c425041958dc805b45a76a81a290 /httemplate/search | |
parent | 8043c7dc35455c0c2a7afce70e9f79448952d170 (diff) |
rearrange flow of batch download, #947
Diffstat (limited to 'httemplate/search')
-rwxr-xr-x | httemplate/search/bill_batch.cgi | 58 |
1 files changed, 42 insertions, 16 deletions
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'); +<HTML> +<HEAD><TITLE>Starting download...</TITLE> +<SCRIPT TYPE="text/javascript"> +function refreshParent() { + window.top.setTimeout("window.top.location.href = '<% $cgi->self_url %>'", 2000); + window.top.location.replace('<%$p%>misc/download-bill_batch.html?<%$batchnum%>'); +} +</SCRIPT> +</HEAD><BODY onload="refreshParent();"> +<& /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!<FORM NAME="Download$batchnum" STYLE="display:inline"> + <INPUT TYPE="hidden" NAME="batchnum" VALUE="$batchnum"> + <INPUT TYPE="hidden" NAME="close" VALUE="1"> + !; + $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 .= '<A href="#" onclick="batch'.$batchnum.'process();">' . + ($batch->status eq 'O' ? '<B>Download and close</B>' : 'Download'); + $html .= '</A></FORM>'; + return $html; +} + </%init> |