627775992301d76a7b84c66acc3114f50afe4aa0
[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   'mac_addr',
26   'latitude',
27   'longitude',
28   'altitude',
29   'vlan_profile',
30   'authkey',
31   'plan_id',
32 );
33
34 push @fields,
35   { field => 'usergroup', value => \&usergroup }
36   if $conf->exists('svc_broadband-radius');
37
38 sub router {
39   my $svc = shift;
40   my $addr_block = $svc->addr_block or return '';
41   my $router = $addr_block->router or return '';
42   $router->routernum . ': ' . $router->routername;
43 }
44
45 sub ip_addr {
46   my $svc = shift;
47   my $ip_addr = $svc->ip_addr;
48   my $out = $ip_addr . ' (' . 
49     include('/elements/popup_link-ping.html', ip => $ip_addr) . ')';
50   if ( my $addr_block = $svc->addr_block ) {
51     $out .= '<br>Netmask: ' . $addr_block->NetAddr->mask .
52             '<br>Gateway: ' . $addr_block->ip_gateway;
53   }
54   $out;
55 }
56
57 sub usergroup {
58   my $svc = shift;
59   my $usergroup = $svc->usergroup;
60   join('<BR>', $svc->radius_groups('long_description'));
61 }
62
63 </%init>