diff options
author | jeff <jeff> | 2006-12-08 15:11:22 +0000 |
---|---|---|
committer | jeff <jeff> | 2006-12-08 15:11:22 +0000 |
commit | bd368448838fb00212fa34d70e467cf4c8e12206 (patch) | |
tree | 58b65bd6baeb9c68b295481cec2b76a8c4ddc7ee | |
parent | 81746fd8674c8e7535de96df61684407b9684857 (diff) |
stop unsuspending inappropriately
-rw-r--r-- | FS/FS/svc_acct.pm | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/FS/FS/svc_acct.pm b/FS/FS/svc_acct.pm index 6ba2f97b6..8c1c350fa 100644 --- a/FS/FS/svc_acct.pm +++ b/FS/FS/svc_acct.pm @@ -1450,15 +1450,9 @@ sub set_usage { local $FS::UID::AutoCommit = 0; my $dbh = dbh; - if ( $conf->exists("svc_acct-usage_unsuspend") ) { - my $error = $self->cust_svc->cust_pkg->unsuspend; - if ( $error ) { - $dbh->rollback if $oldAutoCommit; - return "Error unsuspending: $error"; - } - } - + my $reset = 0; foreach my $field (keys %$valueref){ + $reset = 1 if $valueref->{$field}; $self->setfield($field, $valueref->{$field}); $self->setfield( $field.'_threshold', int($self->getfield($field) @@ -1472,6 +1466,14 @@ sub set_usage { my $error = $self->replace; die $error if $error; + if ( $conf->exists("svc_acct-usage_unsuspend") && $reset ) { + my $error = $self->cust_svc->cust_pkg->unsuspend; + if ( $error ) { + $dbh->rollback if $oldAutoCommit; + return "Error unsuspending: $error"; + } + } + warn "$me update successful; committing\n" if $DEBUG; $dbh->commit or die $dbh->errstr if $oldAutoCommit; |