[freeside-commits] branch master updated. 7f97d2688290e99de6aecec08a32254dae365105
Jonathan Prykop
jonathan at 420.am
Wed Jun 29 21:58:30 PDT 2016
The branch, master has been updated
via 7f97d2688290e99de6aecec08a32254dae365105 (commit)
from 74973314e229399b05723de7b0ac3fce7a09db07 (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 7f97d2688290e99de6aecec08a32254dae365105
Author: Jonathan Prykop <jonathan at freeside.biz>
Date: Wed Jun 29 23:57:56 2016 -0500
RT#33790: Proper handling for aborting a suspend/cancel
diff --git a/FS/FS/cust_pkg.pm b/FS/FS/cust_pkg.pm
index 456847e..e3fb155 100644
--- a/FS/FS/cust_pkg.pm
+++ b/FS/FS/cust_pkg.pm
@@ -1400,14 +1400,15 @@ sub uncancel {
=item unexpire
-Cancels any pending expiration (sets the expire field to null).
+Cancels any pending expiration (sets the expire field to null)
+for this package and any supplemental packages.
If there is an error, returns the error, otherwise returns false.
=cut
sub unexpire {
- my( $self, %options ) = @_;
+ my( $self ) = @_;
my $error;
my $oldAutoCommit = $FS::UID::AutoCommit;
@@ -1437,6 +1438,14 @@ sub unexpire {
return $error;
}
+ foreach my $supp_pkg ( $self->supplemental_pkgs ) {
+ $error = $supp_pkg->unexpire;
+ if ( $error ) {
+ $dbh->rollback if $oldAutoCommit;
+ return "unexpiring supplemental pkg#".$supp_pkg->pkgnum.": $error";
+ }
+ }
+
$dbh->commit or die $dbh->errstr if $oldAutoCommit;
''; #no errors
@@ -2044,14 +2053,15 @@ sub unsuspend {
=item unadjourn
-Cancels any pending suspension (sets the adjourn field to null).
+Cancels any pending suspension (sets the adjourn field to null)
+for this package and any supplemental packages.
If there is an error, returns the error, otherwise returns false.
=cut
sub unadjourn {
- my( $self, %options ) = @_;
+ my( $self ) = @_;
my $error;
my $oldAutoCommit = $FS::UID::AutoCommit;
@@ -2088,6 +2098,14 @@ sub unadjourn {
return $error;
}
+ foreach my $supp_pkg ( $self->supplemental_pkgs ) {
+ $error = $supp_pkg->unadjourn;
+ if ( $error ) {
+ $dbh->rollback if $oldAutoCommit;
+ return "unadjourning supplemental pkg#".$supp_pkg->pkgnum.": $error";
+ }
+ }
+
$dbh->commit or die $dbh->errstr if $oldAutoCommit;
''; #no errors
-----------------------------------------------------------------------
Summary of changes:
FS/FS/cust_pkg.pm | 26 ++++++++++++++++++++++----
1 file changed, 22 insertions(+), 4 deletions(-)
More information about the freeside-commits
mailing list