summaryrefslogtreecommitdiff
path: root/httemplate/browse/tower.html
diff options
context:
space:
mode:
Diffstat (limited to 'httemplate/browse/tower.html')
-rw-r--r--httemplate/browse/tower.html86
1 files changed, 86 insertions, 0 deletions
diff --git a/httemplate/browse/tower.html b/httemplate/browse/tower.html
new file mode 100644
index 000000000..0de3b324c
--- /dev/null
+++ b/httemplate/browse/tower.html
@@ -0,0 +1,86 @@
+<% include( 'elements/browse.html',
+ 'title' => 'Towers',
+ 'name' => 'towers',
+ 'menubar' => [ 'Add a new tower' =>
+ $p.'edit/tower.html',
+ ],
+ 'query' => { 'table' => 'tower', },
+ 'count_query' => 'SELECT COUNT(*) FROM tower',
+ 'disableable' => 1,
+ 'disabled_statuspos' => 1,
+ 'header' => [ 'Name', 'Sectors', ],
+ 'fields' => [ $tower_sub,
+ $sector_sub,
+ ],
+ 'links' => [ ],
+ )
+%>
+<%init>
+
+die "access denied"
+ unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
+
+my $num_svc_links = sub {
+ my ($query_string, $sectors) = @_;
+ my $num_svc_broadband = FS::svc_broadband->count("sectornum IN($sectors)");
+ my $num_svc_acct = FS::svc_acct->count("sectornum IN($sectors)");
+
+ {
+ 'data' => $num_svc_broadband ?
+ '<B>'.$num_svc_broadband.'</B>'.
+ ' broadband'
+ : '',
+ 'link' => $p.'search/svc_broadband.cgi?'.$query_string,
+ 'size' => '-1',
+ 'align'=> 'right',
+ 'colspan'=> 2,
+ },
+
+ {
+ 'data' => $num_svc_acct ?
+ '<B>'.$num_svc_acct.'</B>'.
+ ' login'
+ : '',
+ 'link' => $p.'search/svc_acct.cgi?magic=advanced;'.$query_string,
+ 'size' => '-1',
+ 'align'=> 'right',
+ 'colspan'=> 2,
+ },
+};
+
+my $tower_sub = sub {
+ my $tower = shift;
+ my $sectors = join(',', map { $_->sectornum } $tower->tower_sector);
+ [ #rows
+ [
+ { 'data' => $tower->towername, },
+ { 'data' => ' (edit) ', size => '-1',
+ 'link' => $p.'edit/tower.html?' . $tower->towernum },
+ ],
+ # turn these into rows
+ map { [ $_ ] }
+ &{$num_svc_links}( 'towernum='.$tower->towernum, $sectors )
+ ] #rows
+};
+
+my $sector_sub = sub {
+ my $tower = shift;
+
+ [ #rows
+ map {
+ my $sector = $_;
+ my $sectornum = $sector->sectornum;
+ [
+ {
+ 'data' => $sector->sectorname,
+ 'link' => ( $sector->ip_addr ? 'http://'. $sector->ip_addr : '' ),
+ },
+
+ &{$num_svc_links}( 'sectornum='.$sectornum, $sectornum )
+ ]
+ } $tower->tower_sector
+ ] #rows
+
+};
+
+</%init>