backup the schema for tables we don't need the data from. RT#85959
[freeside.git] / FS / FS / part_pkg / cdr_termination.pm
index 37fa47e..5413c18 100644 (file)
@@ -1,7 +1,7 @@
 package FS::part_pkg::cdr_termination;
+use base qw( FS::part_pkg::recur_Common );
 
 use strict;
-use base qw( FS::part_pkg::recur_Common );
 use vars qw( $DEBUG %info );
 use Tie::IxHash;
 use FS::Record qw( qsearch ); #qsearchs );
@@ -74,11 +74,11 @@ tie my %temporalities, 'Tie::IxHash',
 
   },
                        #cdr_column
-  'fieldorder' => [qw( recur_temporality recur_method cutoff_day ),
-                       FS::part_pkg::prorate_Mixin::fieldorder, 
-                       qw(
+  'fieldorder' => [ qw( recur_temporality recur_method cutoff_day ),
+                    FS::part_pkg::prorate_Mixin::fieldorder, 
+                    qw(
                        output_format usage_section summarize_usage usage_mandate
-                     )
+                    ),
                   ],
 
   'weight' => 48,
@@ -106,9 +106,8 @@ sub calc_recur {
   my $charges = 0;
 
   #find an svc_external record
-  my @svc_external = map  { $_->svc_x }
-                     grep { $_->part_svc->svcdb eq 'svc_external' }
-                     $cust_pkg->cust_svc;
+  my @svc_external = map { $_->svc_x }
+                     $cust_pkg->cust_svc_unsorted( svcdb=>'svc_external' );
 
   die "cdr_termination package has no svc_external service"
     unless @svc_external;
@@ -182,13 +181,13 @@ sub calc_recur {
     
   # eotermiation calculation
 
-  $charges += $self->calc_recur_Common(@_);
+  $charges += ($cust_pkg->quantity || 1) * $self->calc_recur_Common(@_);
 
   $charges;
 }
 
-sub is_free {
-  0;
-}
+sub is_free { 0; }
+
+sub can_usageprice { 0; }
 
 1;