summaryrefslogtreecommitdiff
path: root/FS/FS/cust_svc.pm
diff options
context:
space:
mode:
authorivan <ivan>2008-08-22 03:01:06 +0000
committerivan <ivan>2008-08-22 03:01:06 +0000
commit106d0163556c31a3b2cf9c065ec6d9d6ded0ce64 (patch)
treeeb945ad809a8bf524d8b20a9204f18aa24ecd6a7 /FS/FS/cust_svc.pm
parentc1297541457bdfce910e7013cd6dc24254347852 (diff)
the master control program has chosen YOU to serve your system on the game grid
Diffstat (limited to 'FS/FS/cust_svc.pm')
-rw-r--r--FS/FS/cust_svc.pm12
1 files changed, 9 insertions, 3 deletions
diff --git a/FS/FS/cust_svc.pm b/FS/FS/cust_svc.pm
index 381b97f..2d6224c 100644
--- a/FS/FS/cust_svc.pm
+++ b/FS/FS/cust_svc.pm
@@ -3,6 +3,7 @@ package FS::cust_svc;
use strict;
use vars qw( @ISA $DEBUG $me $ignore_quantity );
use Carp;
+#use Scalar::Util qw( blessed );
use FS::Conf;
use FS::Record qw( qsearch qsearchs dbh str2time_sql );
use FS::cust_pkg;
@@ -16,7 +17,7 @@ use FS::cdr;
#most FS::svc_ classes are autoloaded in svc_x emthod
use FS::svc_acct; #this one is used in the cache stuff
-@ISA = qw( FS::cust_main_Mixin FS::Record );
+@ISA = qw( FS::cust_main_Mixin FS::option_Common ); #FS::Record );
$DEBUG = 0;
$me = '[cust_svc]';
@@ -220,7 +221,13 @@ returns the error, otherwise returns false.
=cut
sub replace {
+# my $new = shift;
+#
+# my $old = ( blessed($_[0]) && $_[0]->isa('FS::Record') )
+# ? shift
+# : $new->replace_old;
my ( $new, $old ) = ( shift, shift );
+ $old = $new->replace_old unless defined($old);
local $SIG{HUP} = 'IGNORE';
local $SIG{INT} = 'IGNORE';
@@ -233,8 +240,6 @@ sub replace {
local $FS::UID::AutoCommit = 0;
my $dbh = dbh;
- $old = $new->replace_old unless defined($old);
-
if ( $new->svcpart != $old->svcpart ) {
my $svc_x = $new->svc_x;
my $new_svc_x = ref($svc_x)->new({$svc_x->hash, svcpart=>$new->svcpart });
@@ -246,6 +251,7 @@ sub replace {
}
}
+ #my $error = $new->SUPER::replace($old, @_);
my $error = $new->SUPER::replace($old);
if ( $error ) {
$dbh->rollback if $oldAutoCommit;