fix (hopefully the rest of the) fallout from rating CDRs to sub-penny amounts
authorivan <ivan>
Fri, 11 Sep 2009 15:51:38 +0000 (15:51 +0000)
committerivan <ivan>
Fri, 11 Sep 2009 15:51:38 +0000 (15:51 +0000)
FS/FS/Schema.pm
FS/FS/cust_bill_pkg.pm
FS/FS/cust_bill_pkg_detail.pm

index 9a7c4ce..52af77b 100644 (file)
@@ -559,7 +559,7 @@ sub tables_hashref {
         'billpkgnum', 'int', 'NULL', '', '', '',        # should not be nullable
         'pkgnum',  'int', 'NULL', '', '', '',           # deprecated
         'invnum',  'int', 'NULL', '', '', '',           # deprecated
         'billpkgnum', 'int', 'NULL', '', '', '',        # should not be nullable
         'pkgnum',  'int', 'NULL', '', '', '',           # deprecated
         'invnum',  'int', 'NULL', '', '', '',           # deprecated
-        'amount',  @money_typen, '', '', 
+        'amount',  'decimal', 'NULL', '10,4', '', '',
         'format',  'char', 'NULL', 1, '', '',
         'classnum', 'int', 'NULL', '', '', '',
         'phonenum', 'varchar', 'NULL', 15, '', '',
         'format',  'char', 'NULL', 1, '', '',
         'classnum', 'int', 'NULL', '', '', '',
         'phonenum', 'varchar', 'NULL', 15, '', '',
index b6e8528..96f09c9 100644 (file)
@@ -111,7 +111,7 @@ sub insert {
     return $error;
   }
 
     return $error;
   }
 
-  if ( defined dbdef->table('cust_bill_pkg_detail') && $self->get('details') ) {
+  if ( $self->get('details') ) {
     foreach my $detail ( @{$self->get('details')} ) {
       my $cust_bill_pkg_detail = new FS::cust_bill_pkg_detail {
         'billpkgnum' => $self->billpkgnum,
     foreach my $detail ( @{$self->get('details')} ) {
       my $cust_bill_pkg_detail = new FS::cust_bill_pkg_detail {
         'billpkgnum' => $self->billpkgnum,
@@ -124,18 +124,18 @@ sub insert {
       $error = $cust_bill_pkg_detail->insert;
       if ( $error ) {
         $dbh->rollback if $oldAutoCommit;
       $error = $cust_bill_pkg_detail->insert;
       if ( $error ) {
         $dbh->rollback if $oldAutoCommit;
-        return $error;
+        return "error inserting cust_bill_pkg_detail: $error";
       }
     }
   }
 
       }
     }
   }
 
-  if ( defined dbdef->table('cust_bill_pkg_display') && $self->get('display') ){
+  if ( $self->get('display') ) {
     foreach my $cust_bill_pkg_display ( @{ $self->get('display') } ) {
       $cust_bill_pkg_display->billpkgnum($self->billpkgnum);
       $error = $cust_bill_pkg_display->insert;
       if ( $error ) {
         $dbh->rollback if $oldAutoCommit;
     foreach my $cust_bill_pkg_display ( @{ $self->get('display') } ) {
       $cust_bill_pkg_display->billpkgnum($self->billpkgnum);
       $error = $cust_bill_pkg_display->insert;
       if ( $error ) {
         $dbh->rollback if $oldAutoCommit;
-        return $error;
+        return "error inserting cust_bill_pkg_display: $error";
       }
     }
   }
       }
     }
   }
@@ -146,7 +146,7 @@ sub insert {
       $error = $cust_tax_exempt_pkg->insert;
       if ( $error ) {
         $dbh->rollback if $oldAutoCommit;
       $error = $cust_tax_exempt_pkg->insert;
       if ( $error ) {
         $dbh->rollback if $oldAutoCommit;
-        return $error;
+        return "error inserting cust_tax_exempt_pkg: $error";
       }
     }
   }
       }
     }
   }
@@ -160,7 +160,7 @@ sub insert {
       warn $error;
       if ( $error ) {
         $dbh->rollback if $oldAutoCommit;
       warn $error;
       if ( $error ) {
         $dbh->rollback if $oldAutoCommit;
-        return $error;
+        return "error inserting cust_bill_pkg_tax_location: $error";
       }
     }
   }
       }
     }
   }
@@ -173,7 +173,7 @@ sub insert {
       warn $error;
       if ( $error ) {
         $dbh->rollback if $oldAutoCommit;
       warn $error;
       if ( $error ) {
         $dbh->rollback if $oldAutoCommit;
-        return $error;
+        return "error inserting cust_bill_pkg_tax_rate_location: $error";
       }
     }
   }
       }
     }
   }
@@ -185,7 +185,7 @@ sub insert {
     warn $error;
     if ( $error ) {
       $dbh->rollback if $oldAutoCommit;
     warn $error;
     if ( $error ) {
       $dbh->rollback if $oldAutoCommit;
-      return $error;
+      return "error replacing cust_tax_adjustment: $error";
     }
   }
 
     }
   }
 
index 008f3ff..8869441 100644 (file)
@@ -118,7 +118,8 @@ sub check {
 
   $self->ut_numbern('detailnum')
     || $self->ut_foreign_key('billpkgnum', 'cust_bill_pkg', 'billpkgnum')
 
   $self->ut_numbern('detailnum')
     || $self->ut_foreign_key('billpkgnum', 'cust_bill_pkg', 'billpkgnum')
-    || $self->ut_moneyn('amount')
+    #|| $self->ut_moneyn('amount')
+    || $self->ut_float('amount')
     || $self->ut_enum('format', [ '', 'C' ] )
     || $self->ut_text('detail')
     || $self->ut_foreign_keyn('classnum', 'usage_class', 'classnum')
     || $self->ut_enum('format', [ '', 'C' ] )
     || $self->ut_text('detail')
     || $self->ut_foreign_keyn('classnum', 'usage_class', 'classnum')