X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fview%2Fsvc_broadband.cgi;h=627775992301d76a7b84c66acc3114f50afe4aa0;hb=307a7d85568a15f5eb0d97c648507484108fcc56;hp=164b5b22ce62d0a71fdd63eb17b695634f4f9a33;hpb=0ebeec96313dd7edfca340f01f8fbbbac1f4aa1d;p=freeside.git diff --git a/httemplate/view/svc_broadband.cgi b/httemplate/view/svc_broadband.cgi index 164b5b22c..627775992 100644 --- a/httemplate/view/svc_broadband.cgi +++ b/httemplate/view/svc_broadband.cgi @@ -1,91 +1,63 @@ - -<% - -my($query) = $cgi->keywords; -$query =~ /^(\d+)$/; -my $svcnum = $1; -my $svc_broadband = qsearchs( 'svc_broadband', { 'svcnum' => $svcnum } ) - or die "svc_broadband: Unknown svcnum $svcnum"; - -#false laziness w/all svc_*.cgi -my $cust_svc = qsearchs( 'cust_svc', { 'svcnum' => $svcnum } ); -my $pkgnum = $cust_svc->getfield('pkgnum'); -my($cust_pkg, $custnum); -if ($pkgnum) { - $cust_pkg = qsearchs( 'cust_pkg', { 'pkgnum' => $pkgnum } ); - $custnum = $cust_pkg->custnum; -} else { - $cust_pkg = ''; - $custnum = ''; +<& elements/svc_Common.html, + table => 'svc_broadband', + labels => \%labels, + fields => \@fields, +&> +<%init> + +my $conf = FS::Conf->new; +my $fields = FS::svc_broadband->table_info->{'fields'}; +my %labels = map { $_ => ( ref($fields->{$_}) + ? $fields->{$_}{'label'} + : $fields->{$_} + ); + } keys %$fields; + +$labels{'router'} = emt('Router'); +$labels{'usergroup'} = emt('RADIUS groups'); #? + +my @fields = ( + 'description', + { field => 'router', value => \&router }, + 'speed_down', + 'speed_up', + { field => 'ip_addr', value => \&ip_addr }, + 'mac_addr', + 'latitude', + 'longitude', + 'altitude', + 'vlan_profile', + 'authkey', + 'plan_id', +); + +push @fields, + { field => 'usergroup', value => \&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; } -#eofalse - -my $router = $svc_broadband->addr_block->router; - -if (not $router) { die "Could not lookup router for svc_broadband (svcnum $svcnum)" }; - -my ( - $routername, - $routernum, - $speed_down, - $speed_up, - $ip_addr - ) = ( - $router->getfield('routername'), - $router->getfield('routernum'), - $svc_broadband->getfield('speed_down'), - $svc_broadband->getfield('speed_up'), - $svc_broadband->getfield('ip_addr') - ); - - -print header('Broadband Service View', menubar( - ( ( $custnum ) - ? ( "View this package (#$pkgnum)" => "${p}view/cust_pkg.cgi?$pkgnum", - "View this customer (#$custnum)" => "${p}view/cust_main.cgi?$custnum", - ) - : ( "Cancel this (unaudited) website" => - "${p}misc/cancel-unaudited.cgi?$svcnum" ) - ), - "Main menu" => $p, -)). - qq!Edit this information
!. - ntable("#cccccc"). ''. ntable("#cccccc",2). - qq!Service number!. - qq!$svcnum!. - qq!Router!. - qq!$routernum: $routername!. - qq!Download Speed!. - qq!$speed_down!. - qq!Upload Speed!. - qq!$speed_up!. - qq!IP Address!. - qq!$ip_addr!. - ''; - - -# foreach my $sb_field -# ( qsearch('sb_field', { svcnum => $svcnum }) ) { -# my $part_sb_field = qsearchs('part_sb_field', -# { sbfieldpart => $sb_field->sbfieldpart }); -# print q!! . $part_sb_field->name . -# q!! . $sb_field->value . -# q!!; -# } -# print ''; - - - my $sb_field = $svc_broadband->sb_field_hashref; - foreach (sort { $a cmp $b } keys(%{$sb_field})) { - print q!! . $_ . - q!! . $sb_field->{$_} . - q!!; +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) . ')'; + if ( my $addr_block = $svc->addr_block ) { + $out .= '
Netmask: ' . $addr_block->NetAddr->mask . + '
Gateway: ' . $addr_block->ip_gateway; } - print ''; + $out; +} +sub usergroup { + my $svc = shift; + my $usergroup = $svc->usergroup; + join('
', $svc->radius_groups('long_description')); +} -print '
'. joblisting({'svcnum'=>$svcnum}, 1). - '' -; -%> +