X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fview%2Fsvc_broadband.cgi;h=2e93d42fdbba503098533f99161ec0514b6f996c;hb=c418b34fa051a2894a645f7df6d4dc1dfba12113;hp=627775992301d76a7b84c66acc3114f50afe4aa0;hpb=7aef2e455fe8a4722036f231ee8609ac63b2a9c9;p=freeside.git
diff --git a/httemplate/view/svc_broadband.cgi b/httemplate/view/svc_broadband.cgi
index 627775992..2e93d42fd 100644
--- a/httemplate/view/svc_broadband.cgi
+++ b/httemplate/view/svc_broadband.cgi
@@ -2,6 +2,7 @@
table => 'svc_broadband',
labels => \%labels,
fields => \@fields,
+ svc_callback => \&svc_callback,
&>
<%init>
@@ -13,18 +14,28 @@ my %labels = map { $_ => ( ref($fields->{$_})
);
} keys %$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');
$labels{'usergroup'} = emt('RADIUS groups'); #?
+$labels{'coordinates'} = 'Latitude/Longitude';
+
my @fields = (
'description',
{ field => 'router', value => \&router },
'speed_down',
'speed_up',
{ field => 'ip_addr', value => \&ip_addr },
+ { field => 'sectornum', value => \§ornum },
'mac_addr',
- 'latitude',
- 'longitude',
+ #'latitude',
+ #'longitude',
+ { field => 'coordinates', value => \&coordinates },
'altitude',
'vlan_profile',
'authkey',
@@ -45,8 +56,9 @@ sub router {
sub ip_addr {
my $svc = shift;
my $ip_addr = $svc->ip_addr;
- my $out = $ip_addr . ' (' .
- include('/elements/popup_link-ping.html', ip => $ip_addr) . ')';
+ my $out = $ip_addr;
+ $out .= ' (' . include('/elements/popup_link-ping.html', ip => $ip_addr) . ')'
+ if $ip_addr;
if ( my $addr_block = $svc->addr_block ) {
$out .= '
Netmask: ' . $addr_block->NetAddr->mask .
'
Gateway: ' . $addr_block->ip_gateway;
@@ -60,4 +72,51 @@ sub usergroup {
join('
', $svc->radius_groups('long_description'));
}
+sub sectornum {
+ my $svc_broadband = shift;
+ return '' unless $svc_broadband->sectornum;
+ my $tower_sector = $svc_broadband->tower_sector;
+ my $link = $tower_sector->ip_addr
+ ? ''
+ : '';
+
+ $link . $tower_sector->description. ( $link ? '' : '');
+}
+
+sub coordinates {
+ my $s = shift; #$svc_broadband
+ return '' unless $s->latitude && $s->longitude;
+
+ my $d = $s->description;
+ unless ($d) {
+ my $cust_pkg = $s->cust_svc->cust_pkg;
+ $d = $cust_pkg->cust_main->name_short if $cust_pkg;
+ }
+
+ #'Latitude: '. $s->latitude. ', Longitude: '. $s->longitude. ' '.
+ $s->latitude. ', '. $s->longitude. ' '.
+ include('/elements/coord-links.html', $s->latitude, $s->longitude, $d);
+}
+
+sub svc_callback {
+ # trying to move to the callback style
+ my ($cgi, $svc_x, $part_svc, $cust_pkg, $fields, $opt) = @_;
+ # again, we assume at most one of these exports per part_svc
+ my ($nas_export) = $part_svc->part_export('broadband_nas');
+ if ( $nas_export ) {
+ my $nas = qsearchs('nas', { 'svcnum' => $svc_x->svcnum });
+ if ( $nas ) {
+ $svc_x->set($_, $nas->$_) foreach (fields('nas'));
+ push @$fields, qw(shortname secret type ports server community);
+ $opt->{'labels'}{'shortname'} = 'Short name';
+ $opt->{'labels'}{'secret'} = 'Shared secret';
+ $opt->{'labels'}{'type'} = 'Type';
+ $opt->{'labels'}{'ports'} = 'Ports';
+ $opt->{'labels'}{'server'} = 'Server';
+ $opt->{'labels'}{'community'} = 'Community';
+ } #if $nas
+ } #$nas_export
+};
+
+
%init>