batch refactor continued
[freeside.git] / FS / FS / Setup.pm
index 8e89be5..fff8256 100644 (file)
@@ -48,6 +48,8 @@ sub create_initial_data {
   #initial_data data
   populate_initial_data(%opt);
 
+  populate_access();
+
   populate_msgcat();
   
   if ( $oldAutoCommit ) {
@@ -131,12 +133,17 @@ sub initial_data {
   #tie my %hash, 'Tie::DxHash', 
   tie my %hash, 'Tie::IxHash', 
 
+    #superuser group
+    'access_group' => [
+      { 'groupname' => 'Superuser' },
+    ],
+
     #billing events
     'part_bill_event' => [
       { 'payby'     => 'CARD',
         'event'     => 'Batch card',
         'seconds'   => 0,
-        'eventcode' => '$cust_bill->batch_card();',
+        'eventcode' => '$cust_bill->batch_card(%options);',
         'weight'    => 40,
         'plan'      => 'batch-card',
       },
@@ -161,6 +168,20 @@ sub initial_data {
         'weight'    => 50,
         'plan'      => 'send',
       },
+      { 'payby'     => 'DCLN',
+        'event'     => 'Suspend',
+        'seconds'   => 0,
+        'eventcode' => '$cust_bill->suspend();',
+        'weight'    => 40,
+        'plan'      => 'suspend',
+      },
+      { 'payby'     => 'DCLN',
+        'event'     => 'Retriable',
+        'seconds'   => 0,
+        'eventcode' => '$cust_bill_event->retriable();',
+        'weight'    => 60,
+        'plan'      => 'retriable',
+      },
     ],
     
     #you must create a service definition. An example of a service definition
@@ -282,6 +303,32 @@ sub initial_data {
 
 }
 
+sub populate_access {
+
+  use FS::AccessRight;
+  use FS::access_right;
+
+  foreach my $rightname ( FS::AccessRight->rights ) {
+    my $access_right = new FS::access_right {
+      'righttype'   => 'FS::access_group',
+      'rightobjnum' => 1, #$supergroup->groupnum,
+      'rightname'   => $rightname,
+    };
+    my $ar_error = $access_right->insert;
+    die $ar_error if $ar_error;
+  }
+
+  #foreach my $agent ( qsearch('agent', {} ) ) {
+    my $access_groupagent = new FS::access_groupagent {
+      'groupnum' => 1, #$supergroup->groupnum,
+      'agentnum' => 1, #$agent->agentnum,
+    };
+    my $aga_error = $access_groupagent->insert;
+    die $aga_error if $aga_error;
+  #}
+
+}
+
 sub populate_msgcat {
 
   use FS::Record qw(qsearch);