import torrus 1.0.9
[freeside.git] / httemplate / edit / process / addr_block / deallocate.cgi
index cfb7ed0..128824e 100755 (executable)
@@ -1,24 +1,20 @@
-<%
-my $error = '';
-my $blocknum = $cgi->param('blocknum');
-
-my $addr_block = qsearchs('addr_block', { blocknum => $blocknum });
+<% include( '../elements/process.html',
+            'table'            => 'addr_block',
+            'copy_on_empty'    => [ grep { $_ ne 'routernum' }
+                                    fields 'addr_block' ],
+            'redirect'         => popurl(4). 'browse/addr_block.cgi?',
+            'error_redirect'   => popurl(4). 'browse/addr_block.cgi?',
+            'agent_virt'       => 1,
+            'agent_null_right' => 'Broadband global configuration',
+          )
+%>
+<%init>
 
-if($addr_block) {
-  my $router = $addr_block->router;
-  if ($router) {
-    $error = $addr_block->deallocate($router);
-  } else {
-    $error = "Block is not allocated to a router";
-  }
-} else {
-  $error = "Cannot find block with blocknum $blocknum";
-}
+my $conf = new FS::Conf;
+my $curuser = $FS::CurrentUser::CurrentUser;
+die "access denied"
+  unless $curuser->access_right('Broadband configuration')
+      || $curuser->access_right('Broadband global configuration');
 
-if ( $error ) {
-  $cgi->param('error', $error);
-  print $cgi->redirect(popurl(4). "browse/addr_block.cgi?" . $cgi->query_string);
-} else { 
-  print $cgi->redirect(popurl(4). "browse/addr_block.cgi");
-}
-%>
+$cgi->param('routernum', 0);  # just to be explicit about what we are doing
+</%init>