proper cdr_batch table, RT#6386
[freeside.git] / FS / FS / cust_bill_pkg.pm
index 9d7aae2..094313f 100644 (file)
@@ -2,6 +2,7 @@ package FS::cust_bill_pkg;
 
 use strict;
 use vars qw( @ISA $DEBUG $me );
+use Carp;
 use FS::Record qw( qsearch qsearchs dbdef dbh );
 use FS::cust_main_Mixin;
 use FS::cust_pkg;
@@ -18,7 +19,7 @@ use FS::cust_tax_adjustment;
 
 @ISA = qw( FS::cust_main_Mixin FS::Record );
 
-$DEBUG = 2;
+$DEBUG = 0;
 $me = '[FS::cust_bill_pkg]';
 
 =head1 NAME
@@ -186,9 +187,7 @@ sub insert {
   if ( $tax_location ) {
     foreach my $cust_bill_pkg_tax_location ( @$tax_location ) {
       $cust_bill_pkg_tax_location->billpkgnum($self->billpkgnum);
-      warn $cust_bill_pkg_tax_location;
       $error = $cust_bill_pkg_tax_location->insert;
-      warn $error;
       if ( $error ) {
         $dbh->rollback if $oldAutoCommit;
         return "error inserting cust_bill_pkg_tax_location: $error";
@@ -201,7 +200,6 @@ sub insert {
     foreach my $cust_bill_pkg_tax_rate_location ( @$tax_rate_location ) {
       $cust_bill_pkg_tax_rate_location->billpkgnum($self->billpkgnum);
       $error = $cust_bill_pkg_tax_rate_location->insert;
-      warn $error;
       if ( $error ) {
         $dbh->rollback if $oldAutoCommit;
         return "error inserting cust_bill_pkg_tax_rate_location: $error";
@@ -213,7 +211,6 @@ sub insert {
   if ( $cust_tax_adjustment ) {
     $cust_tax_adjustment->billpkgnum($self->billpkgnum);
     $error = $cust_tax_adjustment->replace;
-    warn $error;
     if ( $error ) {
       $dbh->rollback if $oldAutoCommit;
       return "error replacing cust_tax_adjustment: $error";
@@ -346,7 +343,7 @@ Returns the package (see L<FS::cust_pkg>) for this invoice line item.
 
 sub cust_pkg {
   my $self = shift;
-  warn "$me $self -> cust_pkg";
+  carp "$me $self -> cust_pkg" if $DEBUG;
   qsearchs( 'cust_pkg', { 'pkgnum' => $self->pkgnum } );
 }
 
@@ -361,7 +358,10 @@ sub part_pkg {
   if ( $self->pkgpart_override ) {
     qsearchs('part_pkg', { 'pkgpart' => $self->pkgpart_override } );
   } else {
-    $self->cust_pkg->part_pkg;
+    my $part_pkg;
+    my $cust_pkg = $self->cust_pkg;
+    $part_pkg = $cust_pkg->part_pkg if $cust_pkg;
+    $part_pkg;
   }
 }
 
@@ -627,8 +627,9 @@ sub disintegrate {
   }
 
   #split usage from recur
-  my $usage = sprintf( "%.2f", $cust_bill_pkg{recur}->usage );
-  warn "usage is $usage\n" if $DEBUG;
+  my $usage = sprintf( "%.2f", $cust_bill_pkg{recur}->usage )
+    if exists($cust_bill_pkg{recur});
+  warn "usage is $usage\n" if $DEBUG > 1;
   if ($usage) {
     my $cust_bill_pkg_usage =
         new FS::cust_bill_pkg { $cust_bill_pkg{recur}->hash };
@@ -780,6 +781,24 @@ sub _cust_tax_exempt_pkg {
 
 }
 
+=item cust_bill_pkg_tax_Xlocation
+
+Returns the list of associated cust_bill_pkg_tax_location and/or
+cust_bill_pkg_tax_rate_location objects
+
+=cut
+
+sub cust_bill_pkg_tax_Xlocation {
+  my $self = shift;
+
+  my %hash = ( 'billpkgnum' => $self->billpkgnum );
+
+  (
+    qsearch ( 'cust_bill_pkg_tax_location', { %hash  } ),
+    qsearch ( 'cust_bill_pkg_tax_rate_location', { %hash } )
+  );
+
+}
 
 =back