Wholesale CDR cost re-billing, RT#27555
[freeside.git] / FS / FS / part_pkg / agent.pm
index e5bd163..187b2ba 100644 (file)
@@ -19,16 +19,8 @@ $me = '[FS::part_pkg::agent]';
 %info = (
   'name'      => 'Wholesale bulk billing, for master customers of an agent.',
   'shortname' => 'Wholesale bulk billing for agent.',
-
+  'inherit_fields' => [qw( prorate global_Mixin)],
   'fields' => {
-    'setup_fee'     => { 'name' => 'Setup fee for this package',
-                         'default' => 0,
-                       },
-    'recur_fee'     => { 'name' => 'Base recurring fee for this package',
-                         'default' => 0,
-                       },
-
-
     #'recur_method'  => { 'name' => 'Recurring fee method',
     #                     #'type' => 'radio',
     #                     #'options' => \%recur_method,
@@ -38,6 +30,10 @@ $me = '[FS::part_pkg::agent]';
     'cutoff_day'    => { 'name' => 'Billing Day (1 - 28)',
                          'default' => '1',
                        },
+    'add_full_period'=> { 'name' => 'When prorating first month, also bill '.
+                                    'for one full period after that',
+                          'type' => 'checkbox',
+                        },
 
     'no_pkg_prorate'   => { 'name' => 'Disable prorating bulk packages (charge full price for packages active only a portion of the month)',
                             'type' => 'checkbox',
@@ -45,10 +41,9 @@ $me = '[FS::part_pkg::agent]';
 
   },
 
-  #'fieldorder' => [qw( setup_fee recur_fee recur_method cutoff_day ) ],
-  'fieldorder' => [qw( setup_fee recur_fee cutoff_day no_pkg_prorate ) ],
+  'fieldorder' => [qw( cutoff_day add_full_period no_pkg_prorate ) ],
 
-  'weight' => 51,
+  'weight' => 52,
 
 );
 
@@ -110,11 +105,15 @@ sub calc_recur {
           if $DEBUG;
 
         my $pkg_details = $cust_main->name_short. ': '; #name?
+
+        my $part_pkg = $cust_pkg->part_pkg;
+
         # + something to identify package... primary service probably
+        # no... package def for now
+        $pkg_details .= $part_pkg->pkg. ': ';
 
         my $pkg_charge = 0;
 
-        my $part_pkg = $cust_pkg->part_pkg;
         #option to not fallback? via options above
         my $pkg_setup_fee  =
           $part_pkg->setup_cost || $part_pkg->option('setup_fee');