can't find any indication this did anything back to 3.x
[freeside.git] / FS / FS / part_pkg / voip_inbound.pm
index 525db80..e9ab1f7 100644 (file)
@@ -167,7 +167,7 @@ tie my %granularity, 'Tie::IxHash', FS::rate_detail::granularities();
 
 sub price_info {
     my $self = shift;
-    my $str = $self->SUPER::price_info;
+    my $str = $self->SUPER::price_info(@_);
     $str .= " plus usage" if $str;
     $str;
 }
@@ -179,7 +179,7 @@ sub calc_recur {
   my $charges = 0;
 
   $charges += $self->calc_usage(@_);
-  $charges += $self->calc_recur_Common(@_);
+  $charges += ($cust_pkg->quantity || 1) * $self->calc_recur_Common(@_);
 
   $charges;
 
@@ -206,19 +206,21 @@ sub calc_usage {
     if $self->recur_temporality eq 'preceding'
     && ( $last_bill eq '' || $last_bill == 0 );
 
-  my $spool_cdr = $cust_pkg->cust_main->spool_cdr;
-
-
   my $charges = 0;
 
 #  my $downstream_cdr = '';
 
   my $included_min  = $self->option('min_included', 1) || 0;
+  $included_min *= ($cust_pkg->quantity || 1);
   my $use_duration  = $self->option('use_duration');
   my $output_format = $self->option('output_format', 1) || 'default';
 
   my $formatter = 
-    FS::detail_format->new($output_format, buffer => $details, inbound => 1);
+    FS::detail_format->new($output_format,
+      buffer => $details,
+      inbound => 1,
+      locale => $cust_pkg->cust_main->locale
+    );
 
   my $granularity   = length($self->option('sec_granularity'))
                         ? $self->option('sec_granularity')
@@ -287,10 +289,7 @@ sub calc_usage {
         my @call_details = (
           $cdr->downstream_csv( 'format'      => $output_format,
                                 'charge'      => $charge,
-                                'seconds'     => ($use_duration
-                                                   ? $cdr->duration
-                                                   : $cdr->billsec
-                                                 ),
+                                'seconds'     => $seconds,
                                 'granularity' => $granularity,
                               )
         );
@@ -312,10 +311,10 @@ sub calc_usage {
         'done',
         $charge,
         $cust_svc->svcnum,
-        'rated_seconds'     => $use_duration ? $cdr->duration : $cdr->billsec,
+        'rated_seconds'     => $seconds,
         'rated_granularity' => $granularity, 
         'rated_classnum'    => $cdr->calltypenum,
-        'inbound'        => 1,
+        'inbound'        => 1, # to update cdr_termination, not cdr
       );
       die $error if $error;
       $formatter->append($cdr);
@@ -397,14 +396,5 @@ sub is_free {
   0;
 }
 
-#  This equates svc_phone records; perhaps svc_phone should have a field
-#  to indicate it represents a line
-sub calc_units {    
-  my($self, $cust_pkg ) = @_;
-  my $count = 
-      scalar(grep { $_->part_svc->svcdb eq 'svc_phone' } $cust_pkg->cust_svc);
-  $count;
-}
-
 1;