tower tracking, RT#15538
[freeside.git] / httemplate / view / svc_broadband.cgi
1 <& elements/svc_Common.html,
2   table   => 'svc_broadband',
3   labels  => \%labels,
4   fields  => \@fields,
5 &>
6 <%init>
7
8 my $conf = FS::Conf->new;
9 my $fields = FS::svc_broadband->table_info->{'fields'};
10 my %labels = map { $_ => ( ref($fields->{$_}) 
11                             ? $fields->{$_}{'label'} 
12                             : $fields->{$_}
13                           );
14                  } keys %$fields;
15
16 $labels{'router'} = emt('Router');
17 $labels{'usergroup'} = emt('RADIUS groups'); #?
18
19 my @fields = (
20   'description',
21   { field => 'router', value => \&router },
22   'speed_down',
23   'speed_up',
24   { field => 'ip_addr', value => \&ip_addr },
25   { field => 'sectornum', value => \&sectornum },
26   'mac_addr',
27   'latitude',
28   'longitude',
29   'altitude',
30   'vlan_profile',
31   'authkey',
32   'plan_id',
33 );
34
35 push @fields,
36   { field => 'usergroup', value => \&usergroup }
37   if $conf->exists('svc_broadband-radius');
38
39 sub router {
40   my $svc = shift;
41   my $addr_block = $svc->addr_block or return '';
42   my $router = $addr_block->router or return '';
43   $router->routernum . ': ' . $router->routername;
44 }
45
46 sub ip_addr {
47   my $svc = shift;
48   my $ip_addr = $svc->ip_addr;
49   my $out = $ip_addr . ' (' . 
50     include('/elements/popup_link-ping.html', ip => $ip_addr) . ')';
51   if ( my $addr_block = $svc->addr_block ) {
52     $out .= '<br>Netmask: ' . $addr_block->NetAddr->mask .
53             '<br>Gateway: ' . $addr_block->ip_gateway;
54   }
55   $out;
56 }
57
58 sub usergroup {
59   my $svc = shift;
60   my $usergroup = $svc->usergroup;
61   join('<BR>', $svc->radius_groups('long_description'));
62 }
63
64 sub sectornum {
65   my $svc_broadband = shift;
66   return '' unless $svc_broadband->sectornum;
67   my $tower_sector = $svc_broadband->tower_sector;
68   my $link = $tower_sector->ip_addr
69                ? '<A HREF="http://'. $tower_sector->ip_addr. '">'
70                : '';
71
72   $link .  $tower_sector->description. ( $link ? '</A>' : '');
73 }
74
75 </%init>