summaryrefslogtreecommitdiff
path: root/httemplate/misc
diff options
context:
space:
mode:
authorjeff <jeff>2010-05-13 05:43:57 +0000
committerjeff <jeff>2010-05-13 05:43:57 +0000
commit16ac0d9bacf239ecbf24b4b7d2231981bd9efe89 (patch)
tree6d1087695730dffc36f7ae301e6a338726d15f19 /httemplate/misc
parent94919f6776efc3b5a0c2117f2147a1730beee2e8 (diff)
cope with poor tax liability report performance by allowing queuing of reports RT#8274
Diffstat (limited to 'httemplate/misc')
-rwxr-xr-xhttemplate/misc/queued_report.html29
1 files changed, 29 insertions, 0 deletions
diff --git a/httemplate/misc/queued_report.html b/httemplate/misc/queued_report.html
new file mode 100755
index 000000000..875404546
--- /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>