fix uncancellation w/services that have been re-provisioned, RT#17518
[freeside.git] / FS / FS / cust_pkg.pm
index 27c25da..1d4a90c 100644 (file)
@@ -972,7 +972,16 @@ sub uncancel {
     my $svc_error = $svc_x->insert;
     if ( $svc_error && $options{svc_fatal} ) {
       $dbh->rollback if $oldAutoCommit;
-      return $error;
+      return $svc_error;
+    } else {
+      my $cust_svc = qsearchs('cust_svc', { 'svcnum' => $svc_x->svcnum });
+      if ( $cust_svc ) {
+        my $cs_error = $cust_svc->delete;
+        if ( $cs_error ) {
+          $dbh->rollback if $oldAutoCommit;
+          return $cs_error;
+        }
+      }
     }
     push @svc_errors, $svc_error if $svc_error;
   }