[freeside-commits] branch master updated. 2bc9bac2a63cb778fd7be89066bfe9f591829f96

Ivan ivan at 420.am
Fri Jun 1 01:29:30 PDT 2012


The branch, master has been updated
       via  2bc9bac2a63cb778fd7be89066bfe9f591829f96 (commit)
      from  b1f580c37e3da920fd6669e7431fd8cb06810f35 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 2bc9bac2a63cb778fd7be89066bfe9f591829f96
Author: Ivan Kohler <ivan at freeside.biz>
Date:   Fri Jun 1 01:29:27 2012 -0700

    don't leave dangling cust_svc records when running inside a big transaction (i.e. data import)

diff --git a/FS/FS/svc_Common.pm b/FS/FS/svc_Common.pm
index 19f5819..a6daf44 100644
--- a/FS/FS/svc_Common.pm
+++ b/FS/FS/svc_Common.pm
@@ -244,6 +244,7 @@ sub insert {
 
   my $svcnum = $self->svcnum;
   my $cust_svc = $svcnum ? qsearchs('cust_svc',{'svcnum'=>$self->svcnum}) : '';
+  my $inserted_cust_svc = 0;
   #unless ( $svcnum ) {
   if ( !$svcnum or !$cust_svc ) {
     $cust_svc = new FS::cust_svc ( {
@@ -257,6 +258,7 @@ sub insert {
       $dbh->rollback if $oldAutoCommit;
       return $error;
     }
+    $inserted_cust_svc  = 1;
     $svcnum = $self->svcnum($cust_svc->svcnum);
   } else {
     #$cust_svc = qsearchs('cust_svc',{'svcnum'=>$self->svcnum});
@@ -275,6 +277,10 @@ sub insert {
               || $self->preinsert_hook
               || $self->SUPER::insert;
   if ( $error ) {
+    if ( $inserted_cust_svc ) {
+      my $derror = $cust_svc->delete;
+      die $derror if $derror;
+    }
     $dbh->rollback if $oldAutoCommit;
     return $error;
   }

-----------------------------------------------------------------------

Summary of changes:
 FS/FS/svc_Common.pm |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)




More information about the freeside-commits mailing list