RT#14671: Usage for current day when billing outstanding usage (for cancelling customers)
[freeside.git] / FS / FS / part_pkg / global_Mixin.pm
index 137db1c..2318c3e 100644 (file)
@@ -3,6 +3,17 @@ package FS::part_pkg::global_Mixin;
 use strict;
 use vars qw(%info);
 
+use Tie::IxHash;
+tie my %a2billing_types, 'Tie::IxHash', (
+  0 => 'Prepaid',
+  1 => 'Postpaid',
+);
+
+tie my %a2billing_simultaccess, 'Tie::IxHash', (
+  0 => 'Disabled',
+  1 => 'Enabled',
+);
+
 %info = (
   'disabled' => 1,
   'fields' => {
@@ -29,13 +40,90 @@ use vars qw(%info);
                 'changing packages',
       'type' => 'checkbox',
     },
-  },
+    'delay_cancel' => {
+      'name' => 'Automatically suspend for one day before cancelling',
+      'type' => 'checkbox',
+    },
+
+    # miscellany--maybe put this in a separate module?
+
+    'a2billing_tariff' => {
+      'name'        => 'A2Billing tariff group ID',
+      'display_if'  => sub {
+        FS::part_export->count("exporttype = 'a2billing'") > 0;
+      }
+    },
+    'a2billing_type' => {
+      'name'        => 'A2Billing card type',
+      'display_if'  => sub {
+        FS::part_export->count("exporttype = 'a2billing'") > 0;
+      },
+      'type'        => 'select',
+      'select_options' => \%a2billing_types,
+    },
+    'a2billing_simultaccess' => {
+      'name'        => 'A2Billing Simultaneous Access',
+      'display_if'  => sub {
+        FS::part_export->count("exporttype = 'a2billing'") > 0;
+      },
+      'type'        => 'select',
+      'select_options' => \%a2billing_simultaccess,
+    },  
+    'a2billing_carrier_cost_min' => {
+      'name'        => 'A2Billing inbound carrier cost',
+      'display_if'  => sub {
+        FS::part_export->count("exporttype = 'a2billing'") > 0;
+      },
+    },
+   'a2billing_carrer_initblock_offp' => {
+      'name'        => 'A2Billing inbound carrier min duration',
+      'display_if'  => sub {
+        FS::part_export->count("exporttype = 'a2billing'") > 0;
+      },
+    },
+    'a2billing_carrier_increment_offp' => {
+      'name'        => 'A2Billing inbound carrier billing block',
+      'display_if'  => sub {
+        FS::part_export->count("exporttype = 'a2billing'") > 0;
+      },
+    },
+    'a2billing_retail_cost_min_offp' => {
+      'name'        => 'A2Billing inbound retail cost',
+      'display_if'  => sub {
+        FS::part_export->count("exporttype = 'a2billing'") > 0;
+      },
+    },
+    'a2billing_retail_initblock_offp' => {
+      'name'        => 'A2Billing inbound retail min duration',
+      'display_if'  => sub {
+        FS::part_export->count("exporttype = 'a2billing'") > 0;
+      },
+    },
+    'a2billing_retail_increment_offp' => {
+      'name'        => 'A2Billing inbound retail billing block',
+      'display_if'  => sub {
+        FS::part_export->count("exporttype = 'a2billing'") > 0;
+     },
+   },
+
+ },
   'fieldorder' => [ qw(
     setup_fee
     recur_fee
     unused_credit_cancel
     unused_credit_suspend
     unused_credit_change
+    delay_cancel
+
+    a2billing_tariff
+    a2billing_type
+    a2billing_simultaccess
+    a2billing_carrier_cost_min
+    a2billing_carrer_initblock_offp
+    a2billing_carrier_increment_offp
+    a2billing_retail_cost_min_offp
+    a2billing_retail_initblock_offp
+    a2billing_retail_increment_offp
   )],
 );