diff options
author | jeff <jeff> | 2010-05-13 05:43:57 +0000 |
---|---|---|
committer | jeff <jeff> | 2010-05-13 05:43:57 +0000 |
commit | 16ac0d9bacf239ecbf24b4b7d2231981bd9efe89 (patch) | |
tree | 6d1087695730dffc36f7ae301e6a338726d15f19 /httemplate | |
parent | 94919f6776efc3b5a0c2117f2147a1730beee2e8 (diff) |
cope with poor tax liability report performance by allowing queuing of reports RT#8274
Diffstat (limited to 'httemplate')
-rwxr-xr-x | httemplate/misc/queued_report.html | 29 | ||||
-rw-r--r-- | httemplate/search/queue.html | 6 | ||||
-rwxr-xr-x | httemplate/search/report_newtax.html | 2 | ||||
-rwxr-xr-x | httemplate/search/report_queued_newtax.cgi | 16 |
4 files changed, 51 insertions, 2 deletions
diff --git a/httemplate/misc/queued_report.html b/httemplate/misc/queued_report.html new file mode 100755 index 0000000..8754045 --- /dev/null +++ b/httemplate/misc/queued_report.html @@ -0,0 +1,29 @@ +<% include($report_comp) %> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Financial reports'); + +my $report = ''; +$cgi->param('report') =~ /^([.\w]+)$/ && ($report = $1); +die "no such report" unless $report; + +my $prefix = "$FS::UID::cache_dir/cache.$FS::UID::datasrc"; +open my $fh, "$prefix/report.$report" + or die "can't open report: $!\n"; + +my $reportvalue = ''; +{ + local $/; + $reportvalue = <$fh>; +} +close $fh; + +#my ($interp, $other) = FS::Mason::mason_interps('standalone'); +my $interp = $m->interp; +my $report_comp = + eval { $interp->make_component ( comp_source => $reportvalue ) }; +die $@ if $@; +errorpage($@) if $@; + +</%init> diff --git a/httemplate/search/queue.html b/httemplate/search/queue.html index 125a6f7..e5f7aed 100644 --- a/httemplate/search/queue.html +++ b/httemplate/search/queue.html @@ -50,10 +50,14 @@ || ( ! $noactions && $status =~ /^failed/ || $status =~ /^locked/ + || $status =~ /^done/ ); if ( $changable ) { + $status .= qq! (!; + $status .= + qq! <A HREF="$p/misc/queue.cgi?jobnum=$jobnum&action=new">retry</A> |! + unless $status =~ /^done/; $status .= - qq! ( <A HREF="$p/misc/queue.cgi?jobnum=$jobnum&action=new">retry</A> |!. qq! <A HREF="$p/misc/queue.cgi?jobnum=$jobnum&action=del">remove</A> )!; } $status; diff --git a/httemplate/search/report_newtax.html b/httemplate/search/report_newtax.html index daf2d23..2588b48 100755 --- a/httemplate/search/report_newtax.html +++ b/httemplate/search/report_newtax.html @@ -1,6 +1,6 @@ <% include('/elements/header.html', 'Tax Report' ) %> -<FORM ACTION="report_newtax.cgi" METHOD="GET"> +<FORM ACTION="report_queued_newtax.cgi" METHOD="GET"> <TABLE> diff --git a/httemplate/search/report_queued_newtax.cgi b/httemplate/search/report_queued_newtax.cgi new file mode 100755 index 0000000..1d5813e --- /dev/null +++ b/httemplate/search/report_queued_newtax.cgi @@ -0,0 +1,16 @@ +<% include("/elements/header.html", "Queue Tax Report") %> +<% include("/elements/error.html") %> +% unless ($error) { + <CENTER> + Report queued. Check the job queue for status. + </CENTER> +% } +<% include("/elements/footer.html") %> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Financial reports'); + +my $error = FS::tax_rate::queue_liability_report($cgi); + +</%init> |