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)
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;