new access right names
authorjeff <jeff>
Wed, 3 Sep 2008 19:08:29 +0000 (19:08 +0000)
committerjeff <jeff>
Wed, 3 Sep 2008 19:08:29 +0000 (19:08 +0000)
17 files changed:
FS/FS/AccessRight.pm
FS/FS/access_right.pm
FS/FS/addr_block.pm
FS/FS/router.pm
httemplate/browse/addr_block.cgi
httemplate/browse/router.cgi
httemplate/browse/svc_acct_pop.cgi
httemplate/edit/allocate.html
httemplate/edit/process/addr_block/add.cgi
httemplate/edit/process/addr_block/allocate.cgi
httemplate/edit/process/addr_block/deallocate.cgi
httemplate/edit/process/addr_block/split.cgi
httemplate/edit/process/router.cgi
httemplate/edit/process/svc_acct_pop.cgi
httemplate/edit/router.cgi
httemplate/edit/svc_acct_pop.cgi
httemplate/elements/menu.html

index 262b134..db2a31f 100644 (file)
@@ -240,8 +240,11 @@ tie my %rights, 'Tie::IxHash',
     'Edit billing events',
     { rightname=>'Edit global billing events', global=>1 },
   
-    { rightname=>'Engineering configuration' },
-    { rightname=>'Engineering global configuration', global=>1 },
+    { rightname=>'Dialup configuration' },
+    { rightname=>'Dialup global configuration', global=>1 },
+
+    { rightname=>'Broadband configuration' },
+    { rightname=>'Broadband global configuration', global=>1 },
 
     { rightname=>'Configuration', global=>1 }, #most of the rest of the configuraiton is not agent-virtualized
   ],
index cf9730d..4f8d1e9 100644 (file)
@@ -111,6 +111,44 @@ sub check {
   $self->SUPER::check;
 }
 
+# _upgrade_data
+#
+# Used by FS::Upgrade to migrate to a new database.
+
+sub _upgrade_data { # class method
+  my ($class, %opts) = @_;
+
+  my @unmigrated = ( qsearch( 'access_right',
+                              { 'righttype'=>'FS::access_group',
+                                'rightname'=>'Engineering configuration',
+                              }
+                            ), 
+                     qsearch( 'access_right',
+                              { 'righttype'=>'FS::access_group',
+                                'rightname'=>'Engineering global configuration',
+                              }
+                            )
+                   ); 
+  foreach ( @unmigrated ) {
+    my $rightname = $_->rightname;
+    $rightname =~ s/Engineering/Dialup/;
+    $_->rightname($rightname);
+    my $error = $_->replace;
+    die "Failed to update access right: $error"
+      if $error;
+    my $broadband = new FS::access_right { $_->hash };
+    $rightname =~ s/Dialup/Broadband/;
+    $broadband->rightnum('');
+    $broadband->rightname($rightname);
+    $error = $broadband->insert;
+    die "Failed to insert access right: $error"
+      if $error;
+  }
+
+  '';
+
+}
+
 =back
 
 =head1 BUGS
index 5815f1a..9d523e1 100755 (executable)
@@ -124,7 +124,7 @@ sub check {
     $self->ut_number('routernum')
     || $self->ut_ip('ip_gateway')
     || $self->ut_number('ip_netmask')
-    || $self->ut_agentnum_acl('agentnum', 'Engineering global configuration')
+    || $self->ut_agentnum_acl('agentnum', 'Broadband global configuration')
   ;
   return $error if $error;
 
index bfc5530..7a9fda3 100755 (executable)
@@ -83,7 +83,7 @@ sub check {
   my $error =
     $self->ut_numbern('routernum')
     || $self->ut_text('routername')
-    || $self->ut_agentnum_acl('agentnum', 'Engineering global configuration')
+    || $self->ut_agentnum_acl('agentnum', 'Broadband global configuration')
   ;
   return $error if $error;
 
index 917f94c..945f8da 100644 (file)
                                      'border-left:none;',
                                    ],
                 'agent_virt'    => 1,
-                'agent_null_right' => 'Engineering global configuration',
+                'agent_null_right' => 'Broadband global configuration',
                 'agent_pos'     => 1,
           )
 %>
 <%init>
 
 die "access denied"
-  unless $FS::CurrentUser::CurrentUser->access_right('Engineering configuration')
-  || $FS::CurrentUser::CurrentUser->access_right('Engineering global configuration');
+  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";
@@ -59,7 +59,7 @@ my $path = $p2 . "edit/process/addr_block";
 my $extra_sql = "";
 
 my $count_sql = "WHERE ". $FS::CurrentUser::CurrentUser->agentnums_sql(
-  'null_right' => 'Engineering global configuration',
+  'null_right' => 'Broadband global configuration',
 );
 
 my $order_by = "ORDER BY ";
@@ -90,7 +90,7 @@ my $html_foot = qq(
 );
 $html_foot .= include( '/elements/select-agent.html',
                        'agent_virt'       => 1,
-                       'agent_null_right' => 'Engineering global configuration',
+                       'agent_null_right' => 'Broadband global configuration',
                      );
 $html_foot .= qq(
   <INPUT TYPE="submit" NAME="submit" VALUE="Add">
index 9f71673..541e967 100644 (file)
                                        '',
                                      ],
                 'agent_virt'      => 1,
-                'agent_null_right'=> "Engineering global configuration",
+                'agent_null_right'=> "Broadband global configuration",
                 'agent_pos'       => 1,
           )
 %>
 <%init>
 
 die "access denied"
-  unless $FS::CurrentUser::CurrentUser->access_right('Engineering configuration')
-  || $FS::CurrentUser::CurrentUser->access_right('Engineering global configuration');
+  unless $FS::CurrentUser::CurrentUser->access_right('Broadband configuration')
+  || $FS::CurrentUser::CurrentUser->access_right('Broadband global configuration');
 
 my $p2 = popurl(2);
 my $extra_sql = '';
@@ -46,7 +46,7 @@ if ($cgi->param('hidecustomerrouters') eq '1') {
 
 my $count_sql = $extra_sql.  ( $extra_sql =~ /WHERE/ ? ' AND' : 'WHERE' ).
   $FS::CurrentUser::CurrentUser->agentnums_sql(
-    'null_right' => 'Engineering global configuration',
+    'null_right' => 'Broadband global configuration',
   );
 
 </%init>
index 4e49371..c6e615d 100755 (executable)
@@ -30,8 +30,8 @@
 my $curuser = $FS::CurrentUser::CurrentUser;
 
 die "access denied"
-  unless $curuser->access_right('Engineering configuration')
-      || $curuser->access_right('Engineering global configuration');
+  unless $curuser->access_right('Dialup configuration')
+      || $curuser->access_right('Dialup global configuration');
 
 my $html_init = qq!
   <A HREF="${p}edit/svc_acct_pop.cgi"><I>Add new Access Number</I></A>
index 0f05fcc..8d1347d 100644 (file)
                                      'disable_empty' => 1,
                                      'agent_virt'    => 1,
                                      'agent_null_right' =>
-                                       'Engineering global configuration',
+                                       'Broadband global configuration',
                                    },
                                  ],
                 'post_url'    => "process/addr_block/allocate.cgi",
                 'popup'       => 1,
                 'agent_virt'  => 1,
-                'agent_null_right' => 'Engineering global configuration',
+                'agent_null_right' => 'Broadband global configuration',
           )
 %>
 <%init>
 
 my $curuser = $FS::CurrentUser::CurrentUser;
 die "access denied"
-  unless $curuser->access_right('Engineering configuration')
-      || $curuser->access_right('Engineering global configuration');
+  unless $curuser->access_right('Broadband configuration')
+      || $curuser->access_right('Broadband global configuration');
 
 </%init>
index 4321f94..39d6348 100755 (executable)
@@ -3,7 +3,7 @@
             'redirect'         => popurl(4). 'browse/addr_block.cgi?dummy=',
             'error_redirect'   => popurl(4). 'browse/addr_block.cgi?',
             'agent_virt'       => 1,
-            'agent_null_right' => 'Engineering global configuration',
+            'agent_null_right' => 'Broadband global configuration',
 
           )
 %>
@@ -11,8 +11,8 @@
 
 my $curuser = $FS::CurrentUser::CurrentUser;
 die "access denied"
-  unless $curuser->access_right('Engineering configuration')
-      || $curuser->access_right('Engineering global configuration');
+  unless $curuser->access_right('Broadband configuration')
+      || $curuser->access_right('Broadband global configuration');
 
 $cgi->param('routernum', 0)           # in FS::addr_block::check instead?
   unless $cgi->param('routernum');
index f377d81..40d04b3 100755 (executable)
@@ -10,7 +10,7 @@
 my $conf = new FS::Conf;
 my $curuser = $FS::CurrentUser::CurrentUser;
 die "access denied"
-  unless $curuser->access_right('Engineering configuration')
-      || $curuser->access_right('Engineering global configuration');
+  unless $curuser->access_right('Broadband configuration')
+      || $curuser->access_right('Broadband global configuration');
 
 </%init>
index 91184b3..128824e 100755 (executable)
@@ -5,7 +5,7 @@
             'redirect'         => popurl(4). 'browse/addr_block.cgi?',
             'error_redirect'   => popurl(4). 'browse/addr_block.cgi?',
             'agent_virt'       => 1,
-            'agent_null_right' => 'Engineering global configuration',
+            'agent_null_right' => 'Broadband global configuration',
           )
 %>
 <%init>
@@ -13,8 +13,8 @@
 my $conf = new FS::Conf;
 my $curuser = $FS::CurrentUser::CurrentUser;
 die "access denied"
-  unless $curuser->access_right('Engineering configuration')
-      || $curuser->access_right('Engineering global configuration');
+  unless $curuser->access_right('Broadband configuration')
+      || $curuser->access_right('Broadband global configuration');
 
 $cgi->param('routernum', 0);  # just to be explicit about what we are doing
 </%init>
index eb55d00..045fd30 100755 (executable)
@@ -4,8 +4,8 @@
 my $curuser = $FS::CurrentUser::CurrentUser;
 
 die "access denied"
-  unless $curuser->access_right('Engineering configuration')
-      || $curuser->access_right('Engineering global configuration');
+  unless $curuser->access_right('Broadband configuration')
+      || $curuser->access_right('Broadband global configuration');
 
 my $error = '';
 $cgi->param('blocknum') =~ /^(\d+)$/ or die "invalid blocknum";
@@ -14,7 +14,7 @@ my $blocknum = $1;
 my $addr_block = qsearchs({ 'table'     => 'addr_block',
                             'hashref'   => { blocknum => $blocknum },
                             'extra_sql' => ' AND '. $curuser->agentnums_sql(
-                              'null_right' => 'Engineering global configuration'
+                              'null_right' => 'Broadband global configuration'
                             ),
                          })
   or $error = "Unknown blocknum: $blocknum";
index 6e717d1..3cbb8c5 100644 (file)
@@ -7,14 +7,14 @@
                                    'target_table' => 'part_svc',
                                  },
            'agent_virt'       => 1,
-           'agent_null_right' => 'Engineering global configuration',
+           'agent_null_right' => 'Broadband global configuration',
    )
 %>
 <%init>
 my $curuser = $FS::CurrentUser::CurrentUser;
 
 die "access denied"
-  unless $curuser->access_right('Engineering configuration')
-      || $curuser->access_right('Engineering global configuration');
+  unless $curuser->access_right('Broadband configuration')
+      || $curuser->access_right('Broadband global configuration');
 
 </%init>
index 522e949..6e823a8 100755 (executable)
@@ -9,8 +9,8 @@
 my $curuser = $FS::CurrentUser::CurrentUser;
 
 die "access denied"
-  unless $curuser->access_right('Engineering configuration')
-      || $curuser->access_right('Engineering global configuration');
+  unless $curuser->access_right('Dialup configuration')
+      || $curuser->access_right('Dialup global configuration');
 
 my $popnum = $cgi->param('popnum');
 
index 180dcb7..19e63b3 100755 (executable)
@@ -21,8 +21,8 @@
 my $curuser = $FS::CurrentUser::CurrentUser;
 
 die "access denied"
-  unless $curuser->access_right('Engineering configuration')
-    || $curuser->access_right('Engineering global configuration');
+  unless $curuser->access_right('Broadband configuration')
+    || $curuser->access_right('Broadband global configuration');
 
 my $callback = sub {
   my ($cgi, $object, $fields) = (shift, shift, shift);
index b0ae1c3..5930a38 100755 (executable)
@@ -30,8 +30,8 @@ Local     <INPUT TYPE="text" NAME="loc" SIZE=5 MAXLENGTH=4 VALUE="<% $hashref->{
 my $curuser = $FS::CurrentUser::CurrentUser;
 
 die "access denied"
-  unless $curuser->access_right('Engineering configuration')
-      || $curuser->access_right('Engineering global configuration');
+  unless $curuser->access_right('Dialup configuration')
+      || $curuser->access_right('Dialup global configuration');
 
 my $svc_acct_pop;
 if ( $cgi->param('error') ) {
index d476e30..60ea8b2 100644 (file)
@@ -335,11 +335,10 @@ $config_menu{'Resellers'} = [ \%config_agent, ''    ]
 $config_menu{'Billing'} = [ \%config_billing, ''    ]
   if $curuser->access_right('Edit billing events')
   || $curuser->access_right('Edit global billing events');
-if ( $curuser->access_right('Engineering configuration') ) {
-  $config_menu{'Dialup'}  = [ \%config_dialup, ''    ];
-  $config_menu{'Fixed (username-less) broadband'} = 
-                            [ \%config_broadband, ''    ];
-}
+$config_menu{'Dialup'}  = [ \%config_dialup, ''    ]
+  if ( $curuser->access_right('Dialup configuration') );
+$config_menu{'Fixed (username-less) broadband'} = [ \%config_broadband, ''    ]
+  if ( $curuser->access_right('Broadband configuration') );
 $config_menu{'Miscellaneous'} = [ \%config_misc, ''    ]
   if $curuser->access_right('Edit advertising sources')
   || $curuser->access_right('Edit global advertising sources');