default to a session cookie instead of setting an explicit timeout, weird timezone...
[freeside.git] / httemplate / browse / router.cgi
index 541e967..3541118 100644 (file)
@@ -7,18 +7,9 @@
                                        'extra_sql' => $extra_sql,
                                      },
                 'count_query'     => "SELECT count(*) from router $count_sql",
-                'header'          => [ 'Router name',
-                                       'Address block(s)',
-                                     ],
-                'fields'          => [ 'routername',
-                                       sub { join( '<BR>', map { $_->NetAddr }
-                                                               shift->addr_block
-                                                 );
-                                           },
-                                     ],
-                'links'           => [ [ "${p2}edit/router.cgi?", 'routernum' ],
-                                       '',
-                                     ],
+                'header'          => [ @header_fields ],
+                'fields'          => [ @fields ],
+                'links'           => [ @links ],
                 'agent_virt'      => 1,
                 'agent_null_right'=> "Broadband global configuration",
                 'agent_pos'       => 1,
@@ -37,16 +28,39 @@ my @menubar = ( 'Add a new router', "${p2}edit/router.cgi" );
 
 if ($cgi->param('hidecustomerrouters') eq '1') {
   $extra_sql = 'WHERE svcnum > 0';
-  $cgi->param('hidecustomerrouters', 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( '<BR>', 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, encode_entities($_->{'label'});
+  push @fields, encode_entities($_->{'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>