summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2012-05-10 20:30:18 -0700
committerIvan Kohler <ivan@freeside.biz>2012-05-10 20:30:18 -0700
commit46571761a938080713ef03e1b61a5138f05c606e (patch)
tree0478dbe0785bb20b09cf8006fa1f297391549763 /FS
parentd6c36f251779288c9147275c5a6d1d1ddf795b8f (diff)
fix uncancellation w/services that have been re-provisioned, RT#17518
Diffstat (limited to 'FS')
-rw-r--r--FS/FS/cust_pkg.pm11
1 files changed, 10 insertions, 1 deletions
diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm
index 64736ba50..39a4d5c7f 100644
--- a/FS/FS/cust_pkg.pm
+++ b/FS/FS/cust_pkg.pm
@@ -976,7 +976,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;
}