X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fview%2Fsvc_broadband.cgi;h=7d6520e575f8b0758fcd5aa595162da02fd71abb;hb=e385ba02fcd5897a1ed19d9fd23a8471ef27a134;hp=2e93d42fdbba503098533f99161ec0514b6f996c;hpb=0978ea95c15ee2af833b20b5985d3b57e194966d;p=freeside.git diff --git a/httemplate/view/svc_broadband.cgi b/httemplate/view/svc_broadband.cgi index 2e93d42fd..7d6520e57 100644 --- a/httemplate/view/svc_broadband.cgi +++ b/httemplate/view/svc_broadband.cgi @@ -17,7 +17,6 @@ my %labels = map { $_ => ( ref($fields->{$_}) #my %labels = (); $labels{'description'} = emt('Description'); -$labels{'router'} = emt('Router'); $labels{'speed_down'} = emt('Download Speed'); $labels{'speed_up'} = emt('Upload Speed'); $labels{'ip_addr'} = emt('IP Address'); @@ -27,30 +26,40 @@ $labels{'coordinates'} = 'Latitude/Longitude'; my @fields = ( 'description', - { field => 'router', value => \&router }, + { field => 'routernum', value_callback => \&router }, 'speed_down', 'speed_up', - { field => 'ip_addr', value => \&ip_addr }, - { field => 'sectornum', value => \§ornum }, - 'mac_addr', + { field => 'ip_addr', value_callback => \&ip_addr }, + { field => 'sectornum', value_callback => \§ornum }, + { field => 'mac_addr', value_callback => \&mac_addr }, #'latitude', #'longitude', - { field => 'coordinates', value => \&coordinates }, + { field => 'coordinates', value_callback => \&coordinates }, 'altitude', + + 'radio_serialnum', + 'radio_location', + 'poe_location', + 'rssi', + 'suid', + { field => 'shared_svcnum', value_callback=> \&shared_svcnum, }, #value_callback => + 'vlan_profile', 'authkey', 'plan_id', ); push @fields, - { field => 'usergroup', value => \&usergroup } + { field => 'usergroup', value_callback => \&usergroup } if $conf->exists('svc_broadband-radius'); sub router { my $svc = shift; - my $addr_block = $svc->addr_block or return ''; - my $router = $addr_block->router or return ''; - $router->routernum . ': ' . $router->routername; + my $router = $svc->router; + my $block = $svc->addr_block; + $router = $router->routernum . ': ' . $router->routername if $router; + $block = '; '.$block->cidr if $block; + $router . $block } sub ip_addr { @@ -66,6 +75,11 @@ sub ip_addr { $out; } +sub mac_addr { + my $svc = shift; + join(':', $svc->mac_addr =~ /../g); +} + sub usergroup { my $svc = shift; my $usergroup = $svc->usergroup; @@ -88,19 +102,54 @@ sub coordinates { return '' unless $s->latitude && $s->longitude; my $d = $s->description; + my $agentnum; unless ($d) { - my $cust_pkg = $s->cust_svc->cust_pkg; - $d = $cust_pkg->cust_main->name_short if $cust_pkg; + if ( my $cust_pkg = $s->cust_svc->cust_pkg ) { + $d = $cust_pkg->cust_main->name_short; + $agentnum = $cust_pkg->cust_main->agentnum; + } } #'Latitude: '. $s->latitude. ', Longitude: '. $s->longitude. ' '. $s->latitude. ', '. $s->longitude. ' '. - include('/elements/coord-links.html', $s->latitude, $s->longitude, $d); + include('/elements/coord-links.html', + $s->latitude, + $s->longitude, + $d, + $agentnum + ); +} + +sub shared_svcnum { + my $svc_broadband = shift; + return '' unless $svc_broadband->shared_svcnum; + + my $shared_svc_broadband = + qsearchs('svc_broadband', { 'svcnum' => $svc_broadband->shared_svcnum, + } + #agent virt? + ) + or return ''; + my $shared_cust_pkg = $shared_svc_broadband->cust_svc->cust_pkg; + + $shared_svc_broadband->label. + ( $shared_cust_pkg + ? ' ('. $shared_cust_pkg->cust_main->name. ')' + : '' + ); } sub svc_callback { # trying to move to the callback style my ($cgi, $svc_x, $part_svc, $cust_pkg, $fields, $opt) = @_; + + if ( $part_svc->part_svc_column('latitude')->columnflag eq 'F' + && $part_svc->part_svc_column('longitude')->columnflag eq 'F' + ) + { + @$fields = grep { !ref($_) || $_->{field} ne 'coordinates' } @$fields; + } + # again, we assume at most one of these exports per part_svc my ($nas_export) = $part_svc->part_export('broadband_nas'); if ( $nas_export ) {