X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fbrowse%2Faddr_block.cgi;h=ba40bfd4361f39186c187a06a371cf6b363b3d5e;hb=674cb2d9d7105f4cc2871539b2e9f7088cdaa750;hp=408d5729884782688b276b42cd629aaed3df3ffa;hpb=9509e5bfb7f9331303153cac24d7bfecbe2ea9f1;p=freeside.git
diff --git a/httemplate/browse/addr_block.cgi b/httemplate/browse/addr_block.cgi
index 408d57298..ba40bfd43 100644
--- a/httemplate/browse/addr_block.cgi
+++ b/httemplate/browse/addr_block.cgi
@@ -1,86 +1,161 @@
-<% include("/elements/header.html",'Address Blocks', menubar('Main Menu' => $p)) %>
-%
-%
-%use NetAddr::IP;
-%
-%my @addr_block = qsearch('addr_block', {});
-%my @router = qsearch('router', {});
-%my $block;
-%my $p2 = popurl(2);
-%my $path = $p2 . "edit/process/addr_block";
-%
-%
-% if ($cgi->param('error')) {
+<& elements/browse.html,
+ 'title' => 'Address Blocks',
+ 'name' => 'address block',
+ 'html_init' => $html_init,
+ 'html_foot' => $html_foot,
+ 'query' => { 'table' => 'addr_block',
+ 'hashref' => {},
+ 'extra_sql' => $extra_sql,
+ 'order_by' => $order_by,
+ },
+ 'count_query' => "SELECT count(*) from addr_block $count_sql",
+ 'header' => [ 'Address Block',
+ 'Router',
+ 'Action(s)',
+ '',
+ '',
+ '',
+ ],
+ 'fields' => [ 'NetAddr',
+ sub { my $block = shift;
+ my $router = $block->router;
+ my $result = '';
+ if ($router) {
+ $result .= $router->routername. ' (';
+ $result .= scalar($block->svc_broadband). ' services)';
+ }
+ $result;
+ },
+ $allocate_text,
+ sub { shift->router ? '' : '(split)' },
+ sub { '('. (shift->manual_flag ? 'allow' : 'prevent'). ' automatic ip assignment)' },
+ sub {
+ my $block = shift;
+ if(!$block->router && scalar($block->svc_broadband) == 0) {
+ return '(delete)';
+ }
+ '';
+ },
+ ],
+ 'sort_fields' => [],
+ 'links' => [ '',
+ '',
+ [ 'javascript:void(0)', '' ],
+ $split_link,
+ $autoassign_link,
+ sub {
+ my $block = shift;
+ if(!$block->router && scalar($block->svc_broadband) == 0) {
+ [ "${p}misc/delete-addr_block.html?", 'blocknum' ];
+ }
+ },
+ ],
+ 'link_onclicks' => [ '',
+ '',
+ $allocate_link,
+ '',
+ '',
+ ],
+ 'cell_styles' => [ '',
+ '',
+ 'border-right:none;',
+ 'border-left:none;',
+ '',
+ ],
+ 'agent_virt' => 1,
+ 'agent_null_right' => 'Broadband global configuration',
+ 'agent_pos' => 1,
+&>
+<%init>
- Error: <%$cgi->param('error')%>
-
-% }
+die "access denied"
+ unless $FS::CurrentUser::CurrentUser->access_right('Broadband configuration')
+ || $FS::CurrentUser::CurrentUser->access_right('Broadband global configuration');
+my $p2 = popurl(2);
+my $path = $p2 . "edit/process/addr_block";
-<%table()%>
-% foreach $block (sort {$a->NetAddr cmp $b->NetAddr} @addr_block) {
+my $extra_sql = "";
-