X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fbrowse%2Ftower.html;h=e2f9fd0bde6e25c2fe39d1f4501fe907bb27e3b8;hb=6b28d0bd4b422d0fff32b559d0785665b1c46b27;hp=660e92469fc8711fd8b169caafb18b0afe8b23e2;hpb=e6f7e02b32ebaa471230819d36a88f88b98bed6a;p=freeside.git
diff --git a/httemplate/browse/tower.html b/httemplate/browse/tower.html
index 660e92469..e2f9fd0bd 100644
--- a/httemplate/browse/tower.html
+++ b/httemplate/browse/tower.html
@@ -8,13 +8,13 @@
'count_query' => 'SELECT COUNT(*) FROM tower',
'disableable' => 1,
'disabled_statuspos' => 1,
- 'header' => [ 'Name', 'Sectors', ],
- 'fields' => [ 'towername',
+ 'header' => [ 'Name', 'Location', 'Sectors', ],
+ 'fields' => [ $tower_sub,
+ $coord_sub,
$sector_sub,
],
- 'links' => [ $link,
- '',
- ],
+ 'links' => [ ],
+ 'cell_style' => [ $tagdesc_style ],
)
%>
<%init>
@@ -22,22 +22,90 @@
die "access denied"
unless $FS::CurrentUser::CurrentUser->access_right('Configuration');
-my $link = [ "${p}edit/tower.html?", 'towernum' ];
+#false laziness w/ browse/part_tag.html
+my $tagdesc_style = sub { 'background-color:#'.shift->color };
-my $sector_sub = sub {
+my $num_svc_links = sub {
+ my ($query_string, $sectors) = @_;
+ return if !$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 ?
+ ''.$num_svc_broadband.''.
+ ' broadband'
+ : '',
+ 'link' => $p.'search/svc_broadband.cgi?'.$query_string,
+ 'size' => '-1',
+ 'align'=> 'right',
+ 'colspan'=> 2,
+ },
+
+ {
+ 'data' => $num_svc_acct ?
+ ''.$num_svc_acct.''.
+ ' login'
+ : '',
+ 'link' => $p.'search/svc_acct.cgi?magic=advanced;'.$query_string,
+ 'size' => '-1',
+ 'align'=> 'right',
+ 'colspan'=> 2,
+ },
+};
+
+my $coord_sub = sub {
my $tower = shift;
-
- [ map {
- [
- { 'data' => $_->sectorname,
- 'link' => ( $_->ip_addr ? 'http://'. $_->ip_addr : '' ),
- },
- ],
+ my $coords = $m->scomp("/elements/coord-links.html", $tower->latitude, $tower->longitude, $tower->towername);
- }
- $tower->tower_sector
- ];
+ [
+ [
+ { 'data' => "Latitude: ". $tower->latitude.
+ "
Longitude: ". $tower->longitude.
+ "
Altitude: ". $tower->altitude.
+ "
Height: ". $tower->height.
+ "
Veg. height: ". $tower->veg_height,
+ },
+ { 'data' => $coords, 'link' => "Coordinates", },
+ ],
+ ]
+};
+
+my $tower_sub = sub {
+ my $tower = shift;
+ my $sectors = join(',',
+ map { $_->sectornum } $tower->tower_sector, $tower->default_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
};