[freeside-commits] freeside/FS/FS svc_acct.pm,1.217,1.217.2.1
Jeff Finucane,420,,
jeff at wavetail.420.am
Wed Mar 14 17:02:06 PDT 2007
Update of /home/cvs/cvsroot/freeside/FS/FS
In directory wavetail:/tmp/cvs-serv13258
Modified Files:
Tag: FREESIDE_1_7_BRANCH
svc_acct.pm
Log Message:
correcting ->replace on bill (backport)
Index: svc_acct.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/svc_acct.pm,v
retrieving revision 1.217
retrieving revision 1.217.2.1
diff -u -d -r1.217 -r1.217.2.1
--- svc_acct.pm 10 Feb 2007 06:13:15 -0000 1.217
+++ svc_acct.pm 15 Mar 2007 00:02:04 -0000 1.217.2.1
@@ -1616,6 +1616,7 @@
my $dbh = dbh;
my $reset = 0;
+ my %handyhash = ();
foreach my $field (keys %$valueref){
$reset = 1 if $valueref->{$field};
$self->setfield($field, $valueref->{$field});
@@ -1627,9 +1628,28 @@
)
)
);
+ $handyhash{$field} = $self->getfield($field);
+ $handyhash{$field.'_threshold'} = $self->getfield($field.'_threshold');
+ }
+ #my $error = $self->replace; #NO! we avoid the call to ->check for
+ #die $error if $error; #services not explicity changed via the UI
+
+ my $sql = "UPDATE svc_acct SET " .
+ join (',', map { "$_ = ?" } (keys %handyhash) ).
+ " WHERE svcnum = ?";
+
+ warn "$me $sql\n"
+ if $DEBUG;
+
+ if (scalar(keys %handyhash)) {
+ my $sth = $dbh->prepare( $sql )
+ or die "Error preparing $sql: ". $dbh->errstr;
+ my $rv = $sth->execute((grep{$_} values %handyhash), $self->svcnum);
+ die "Error executing $sql: ". $sth->errstr
+ unless defined($rv);
+ die "Can't update usage for svcnum ". $self->svcnum
+ if $rv == 0;
}
- my $error = $self->replace;
- die $error if $error;
if ( $conf->exists("svc_acct-usage_unsuspend") && $reset ) {
my $error = $self->cust_svc->cust_pkg->unsuspend;
More information about the freeside-commits
mailing list