% include('elements/browse.html',
'title' => 'Routers',
'menubar' => [ @menubar ],
'name_singular' => 'router',
'query' => { 'table' => 'router',
'hashref' => {},
'extra_sql' => $extra_sql,
},
'count_query' => "SELECT count(*) from router $count_sql",
'header' => [ @header_fields ],
'fields' => [ @fields ],
'links' => [ @links ],
'agent_virt' => 1,
'agent_null_right'=> "Broadband global configuration",
'agent_pos' => 1,
)
%>
<%init>
use CGI qw(escapeHTML);
die "access denied"
unless $FS::CurrentUser::CurrentUser->access_right('Broadband configuration')
|| $FS::CurrentUser::CurrentUser->access_right('Broadband global configuration');
my $p2 = popurl(2);
my $extra_sql = '';
my @menubar = ( 'Add a new router', "${p2}edit/router.cgi" );
if ($cgi->param('hidecustomerrouters') eq '1') {
$extra_sql = 'WHERE svcnum > 0';
$cgi->delete('hidecustomerrouters');
push @menubar, 'Show customer routers', $cgi->self_url();
$cgi->param('hidecustomerrouters', 1);
} else {
$cgi->param('hidecustomerrouters', 1);
push @menubar, 'Hide customer routers', $cgi->self_url();
$cgi->delete('hidecustomerrouters');
}
my @header_fields = ('Router name', 'Address block(s)', 'IP addressing');
my @fields = ( 'routername',
sub { join( '
', map { $_->NetAddr } shift->addr_block); },
sub { shift->manual_addr ? 'Manual' : 'Automatic' },
);
my @links = ( [ "${p2}edit/router.cgi?", 'routernum' ],
'',
'',
);
foreach (FS::router->virtual_fields_hash) {
push @header_fields, escapeHTML($_->{'label'});
push @fields, escapeHTML($_->{'name'});
push @links, '';
}
push @header_fields, 'Action';
push @fields, sub { 'Delete' };
push @links, [ "${p}misc/delete-router.html?", 'routernum' ];
my $count_sql = $extra_sql. ( $extra_sql =~ /WHERE/ ? ' AND' : 'WHERE' ).
$FS::CurrentUser::CurrentUser->agentnums_sql(
'null_right' => 'Broadband global configuration',
);
%init>