process();
</SCRIPT>
-% } else {
-% if ($error) {
+% } elsif ($error) {
-<P><% $error %></P>
+<P><% emt($error) %></P>
+<FORM NAME="CactiGraphForm" ID="CactiGraphForm" style="margin-top: 0">
+<INPUT TYPE="hidden" NAME="svcnum" VALUE="<% $svcnum %>">
+<INPUT TYPE="hidden" NAME="load" VALUE="1">
+<INPUT TYPE="submit" VALUE="Reload Graphs">
+</FORM>
-% } else {
+% } else {
-<% slurp($htmlfile) %>
+<% $content %>
-% }
% }
<%init>
use File::Slurp qw( slurp );
+die "access denied"
+ unless $FS::CurrentUser::CurrentUser->access_right('View customer services');
+
my $svcnum = $cgi->param('svcnum') or die 'Illegal svcnum';
+
+# false laziness with view/elements/svc_Common.html
+# only doing this to check agent access, don't actually use $svc_x
+my $svc_x = qsearchs({
+ 'select' => 'svc_broadband.*',
+ 'table' => 'svc_broadband',
+ 'addl_from' => ' LEFT JOIN cust_svc USING ( svcnum ) '.
+ ' LEFT JOIN cust_pkg USING ( pkgnum ) '.
+ ' LEFT JOIN cust_main USING ( custnum ) ',
+ 'hashref' => { 'svcnum' => $svcnum },
+ 'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql(
+ 'null_right' => 'View/link unlinked services'
+ ),
+}) or die "Unknown svcnum $svcnum in svc_broadband table\n";
+
my $load = $cgi->param('load');
-my $graphnum = $cgi->param('graphnum');
+my $graphnum = $cgi->param('graphnum') || '';
-my $htmlfile = $FS::UID::cache_dir
- . '/cacti-graphs/'
- . 'svc_'
- . $svcnum;
-$htmlfile .= '_graph_' . $graphnum
- if $graphnum;
-$htmlfile .= '.html';
+my ($content,$error);
+unless ($load) {
+ my $page = qsearchs({
+ 'table' => 'cacti_page',
+ 'hashref' => { 'svcnum' => $svcnum, 'graphnum' => $graphnum },
+ });
+ if ($page) {
+ $content = $page->content;
+ } else {
+ $error = 'No graphs found in import cache. Click below to retry import.';
+ }
+}
-my $error = (-e $htmlfile) ? '' : 'File not found';
</%init>