summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjeff <jeff>2006-12-08 15:11:22 +0000
committerjeff <jeff>2006-12-08 15:11:22 +0000
commitbd368448838fb00212fa34d70e467cf4c8e12206 (patch)
tree58b65bd6baeb9c68b295481cec2b76a8c4ddc7ee
parent81746fd8674c8e7535de96df61684407b9684857 (diff)
stop unsuspending inappropriately
-rw-r--r--FS/FS/svc_acct.pm18
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;