summaryrefslogtreecommitdiff
path: root/httemplate/misc/xmlhttp-broadband_snmp_get.cgi
diff options
context:
space:
mode:
Diffstat (limited to 'httemplate/misc/xmlhttp-broadband_snmp_get.cgi')
-rw-r--r--httemplate/misc/xmlhttp-broadband_snmp_get.cgi35
1 files changed, 35 insertions, 0 deletions
diff --git a/httemplate/misc/xmlhttp-broadband_snmp_get.cgi b/httemplate/misc/xmlhttp-broadband_snmp_get.cgi
new file mode 100644
index 000000000..a6f926722
--- /dev/null
+++ b/httemplate/misc/xmlhttp-broadband_snmp_get.cgi
@@ -0,0 +1,35 @@
+<%doc>
+Requires arg $svcnum. Returns JSON-encoded realtime snmp results
+for configured broadband_snmp_get exports.
+</%doc>
+<% encode_json(\@result) %>\
+<%init>
+
+# access/agent permissions lifted from /view/elements/svc_Common.html
+
+die "access denied"
+ unless $FS::CurrentUser::CurrentUser->access_right('View customer services');
+
+my %arg = $cgi->param('arg');
+my $svc = 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' => $arg{'svcnum'} },
+ 'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql(
+ 'null_right' => 'View/link unlinked services'
+ ),
+}) or die "Unknown svcnum ".$arg{'svcnum'}." in svc_broadband table\n";
+
+my @part_export = $svc->cust_svc->part_svc->part_export('broadband_snmp_get');
+
+my @result;
+foreach my $part_export (@part_export) {
+ push @result, $part_export->snmp_results($svc);
+}
+
+</%init>
+
+