Virtual field merge
[freeside.git] / FS / bin / freeside-setup
index cf009c2..2cb555e 100755 (executable)
@@ -291,6 +291,8 @@ foreach my $aref (
   [ 'COMP', 'Comp invoice', '$cust_bill->comp();', 30, 'comp' ],
   [ 'CARD', 'Batch card', '$cust_bill->batch_card();', 40, 'batch-card' ],
   [ 'BILL', 'Send invoice', '$cust_bill->send();', 50, 'send' ],
+  [ 'DCRD', 'Send invoice', '$cust_bill->send();', 50, 'send' ],
+  [ 'DCHK', 'Send invoice', '$cust_bill->send();', 50, 'send' ],
 ) {
 
   my $part_bill_event = new FS::part_bill_event({
@@ -371,7 +373,7 @@ sub tables_hash_hack {
       ],
       'primary_key' => 'invnum',
       'unique' => [],
-      'index' => [ ['custnum'] ],
+      'index' => [ ['custnum'], ['_date'] ],
     },
 
     'cust_bill_event' => {
@@ -469,7 +471,7 @@ sub tables_hash_hack {
         'last',     'varchar', '',     $char_d,
 #        'middle',   'varchar', 'NULL', $char_d,
         'first',    'varchar', '',     $char_d,
-        'ss',       'char', 'NULL', 11,
+        'ss',       'varchar', 'NULL', 11,
         'company',  'varchar', 'NULL', $char_d,
         'address1', 'varchar', '',     $char_d,
         'address2', 'varchar', 'NULL', $char_d,
@@ -609,6 +611,7 @@ sub tables_hash_hack {
         'otaker',    'varchar', '', 32,
         'setup',     @date_type,
         'bill',      @date_type,
+        'last_bill', @date_type,
         'susp',      @date_type,
         'cancel',    @date_type,
         'expire',    @date_type,
@@ -820,7 +823,7 @@ sub tables_hash_hack {
         #'reczone',   'varchar', '',  $char_d,
         'reczone',   'varchar', '',  255,
         'recaf',     'char',    '',  2,
-        'rectype',   'char',    '',  5,
+        'rectype',   'varchar',    '',  5,
         #'recdata',   'varchar', '',  $char_d,
         'recdata',   'varchar', '',  255,
       ],
@@ -1028,7 +1031,7 @@ sub tables_hash_hack {
       'columns' => [
         'routernum', 'serial', '', '',
         'routername', 'varchar', '', $char_d,
-        'svcnum', 'int', '0', '',
+        'svcnum', 'int', 'NULL', '',
       ],
       'primary_key' => 'routernum',
       'unique'      => [],
@@ -1039,39 +1042,15 @@ sub tables_hash_hack {
       'columns' => [
         'svcpart', 'int', '', '',
        'routernum', 'int', '', '',
-      ];
-      'primary_key' => '',
-      'unique'      => [],
-      'index'       => [],
-    },
-
-    'part_router_field' => {
-      'columns' => [
-        'routerfieldpart', 'serial', '', '',
-        'name', 'varchar', '', $char_d,
-       'length', 'int', '', '',
-       'check_block', 'text', 'NULL', '',
-       'list_source', 'text', 'NULL', '',
-      ],
-      'primary_key' => 'routerfieldpart',
-      'unique'      => [],
-      'index'       => [],
-    },
-
-    'router_field' => {
-      'columns' => [
-        'routerfieldpart', 'int', '', '',
-        'routernum', 'int', '', '',
-        'value', 'varchar', '', 128,
       ],
       'primary_key' => '',
-      'unique'      => [ [ 'routerfieldpart', 'routernum' ] ],
+      'unique'      => [],
       'index'       => [],
     },
 
     'addr_block' => {
       'columns' => [
-        'blocknum', 'int', '', '',
+        'blocknum', 'serial', '', '',
        'routernum', 'int', '', '',
         'ip_gateway', 'varchar', '', 15,
         'ip_netmask', 'int', '', '',
@@ -1081,31 +1060,6 @@ sub tables_hash_hack {
       'index'       => [],
     },
 
-    'part_sb_field' => {
-      'columns' => [
-        'sbfieldpart', 'int', '', '',
-       'svcpart', 'int', '', '',
-       'name', 'varchar', '', $char_d,
-       'length', 'int', '', '',
-       'check_block', 'text', 'NULL', '',
-       'list_source', 'text', 'NULL', '',
-      ],
-      'primary_key' => 'sbfieldpart',
-      'unique'      => [ [ 'sbfieldpart', 'svcpart' ] ],
-      'index'       => [],
-    },
-
-    'sb_field' => {
-      'columns' => [
-        'sbfieldpart', 'int', '', '',
-       'svcnum', 'int', '', '',
-       'value', 'varchar', '', 128,
-      ],
-      'primary_key' => '',
-      'unique'      => [ [ 'sbfieldpart', 'svcnum' ] ],
-      'index'       => [],
-    },
-
     'svc_broadband' => {
       'columns' => [
         'svcnum', 'int', '', '',
@@ -1119,6 +1073,32 @@ sub tables_hash_hack {
       'index'       => [],
     },
 
+    'part_virtual_field' => {
+      'columns' => [
+        'vfieldpart', 'int', '', '',
+        'dbtable', 'varchar', '', 32,
+        'name', 'varchar', '', 32,
+        'check_block', 'text', 'NULL', '',
+        'length', 'int', 'NULL', '',
+        'list_source', 'text', 'NULL', '',
+        'label', 'varchar', 'NULL', 80,
+      ],
+      'primary_key' => 'vfieldpart',
+      'unique' => [],
+      'index' => [],
+    },
+
+    'virtual_field' => {
+      'columns' => [
+        'recnum', 'int', '', '',
+        'vfieldpart', 'int', '', '',
+        'value', 'varchar', '', 128,
+      ],
+      'primary_key' => '',
+      'unique' => [ [ 'vfieldpart', 'recnum' ] ],
+      'index' => [],
+    },
+
   );
 
   %tables;