summaryrefslogtreecommitdiff
path: root/httemplate/misc/sector_coverage-json.cgi
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2016-10-16 15:12:35 -0700
committerIvan Kohler <ivan@freeside.biz>2016-10-16 15:12:35 -0700
commite322fbb08d0f837be3f3f8e7c92a4a5bc75030ad (patch)
tree9ee34d97abcf6910eede9723996900c35db0db55 /httemplate/misc/sector_coverage-json.cgi
parent1c3dfc13e3eaf4a0d2fc213111dcbf12608ee81c (diff)
parentf81c236b2f3b5fe8777b04ee78b793b301eef9fd (diff)
Merge branch 'master' of git.freeside.biz:/home/git/freeside
Diffstat (limited to 'httemplate/misc/sector_coverage-json.cgi')
-rw-r--r--httemplate/misc/sector_coverage-json.cgi40
1 files changed, 40 insertions, 0 deletions
diff --git a/httemplate/misc/sector_coverage-json.cgi b/httemplate/misc/sector_coverage-json.cgi
new file mode 100644
index 000000000..37595f5e2
--- /dev/null
+++ b/httemplate/misc/sector_coverage-json.cgi
@@ -0,0 +1,40 @@
+<% encode_json($collection) %>
+<%init>
+my @sectors;
+if ( my $towernum = $cgi->param('towernum') ) {
+ @sectors = qsearch('tower_sector', { towernum => $towernum });
+} elsif ( my $sectornum = $cgi->param('sectornum') ) {
+ @sectors = FS::tower_sector->by_key($sectornum);
+} else {
+ die "towernum or sectornum required";
+}
+my @features;
+my $collection = {
+ type => 'FeatureCollection',
+ features => \@features,
+};
+foreach my $sector (@sectors) {
+ my $sectornum = $sector->sectornum;
+ my $low = $sector->db_low;
+ my $high = $sector->db_high;
+ my $color = '#' . ($sector->tower->color || 'ffffff');
+ foreach my $coverage ( $sector->sector_coverage ) {
+ #note $coverage->geometry is already JSON
+ my $level = $coverage->db_loss;
+ push @features, {
+ type => 'Feature',
+ id => "sector/$sectornum/$level",
+ properties => {
+ level => $level,
+ low => ($level == $low ? 1 : 0),
+ high => ($level == $high ? 1 : 0),
+ style => {
+ strokeColor => $color,
+ fillColor => $color,
+ },
+ },
+ geometry => decode_json($coverage->geometry),
+ };
+ }
+}
+</%init>