diff options
Diffstat (limited to 'httemplate/browse/tower.html')
| -rw-r--r-- | httemplate/browse/tower.html | 86 |
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> |
