X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fcust_svc.pm;h=cc5f4bf1dc6a4beaf08fbed3fac9742c3f4afdf4;hp=08183b46cbda440c08ca145d3ad2e2ee97151804;hb=57bb423fe457ba4e13726877f53bcdf944f828f8;hpb=1aecd5bf33146bf3f374341a3814960ae1d419e8 diff --git a/FS/FS/cust_svc.pm b/FS/FS/cust_svc.pm index 08183b46c..cc5f4bf1d 100644 --- a/FS/FS/cust_svc.pm +++ b/FS/FS/cust_svc.pm @@ -17,6 +17,7 @@ use FS::part_export; use FS::cdr; use FS::UI::Web; use FS::export_cust_svc; +use FS::DBI; #most FS::svc_ classes are autoloaded in svc_x emthod use FS::svc_acct; #this one is used in the cache stuff @@ -453,8 +454,10 @@ sub replace { #my $error = $new->SUPER::replace($old, @_); my $error = $new->SUPER::replace($old); - #trigger a relocate export on location changes - if ( $new->cust_pkg->locationnum != $old->cust_pkg->locationnum ) { + #trigger a relocate export on location changes (NENA2 and Northern 911 export) + my $old_pkg = $old->cust_pkg; + my $new_pkg = $new->cust_pkg; + if ( $old_pkg && $new_pkg && $new_pkg->locationnum != $old_pkg->locationnum ) { my $svc_x = $new->svc_x; if ( $svc_x->locationnum ) { if ( $svc_x->locationnum == $old->cust_pkg->locationnum ) { @@ -855,9 +858,9 @@ sub seconds_since_sqlradacct { warn "$mes connecting to sqlradius database\n" if $DEBUG; - my $dbh = DBI->connect( map { $part_export->option($_) } + my $dbh = FS::DBI->connect( map { $part_export->option($_) } qw(datasrc username password) ) - or die "can't connect to sqlradius database: ". $DBI::errstr; + or die "can't connect to sqlradius database: ". $FS::DBI::errstr; warn "$mes connected to sqlradius database\n" if $DEBUG; @@ -1000,9 +1003,9 @@ sub attribute_since_sqlradacct { warn "$mes connecting to sqlradius database\n" if $DEBUG; - my $dbh = DBI->connect( map { $part_export->option($_) } + my $dbh = FS::DBI->connect( map { $part_export->option($_) } qw(datasrc username password) ) - or die "can't connect to sqlradius database: ". $DBI::errstr; + or die "can't connect to sqlradius database: ". $FS::DBI::errstr; warn "$mes connected to sqlradius database\n" if $DEBUG; @@ -1071,9 +1074,9 @@ sub attribute_last_sqlradacct { warn "$mes connecting to sqlradius database\n" if $DEBUG; - my $dbh = DBI->connect( map { $part_export->option($_) } + my $dbh = FS::DBI->connect( map { $part_export->option($_) } qw(datasrc username password) ) - or die "can't connect to sqlradius database: ". $DBI::errstr; + or die "can't connect to sqlradius database: ". $FS::DBI::errstr; warn "$mes connected to sqlradius database\n" if $DEBUG; @@ -1197,7 +1200,7 @@ sub API_getinfo { my $self = shift; my $svc_x = $self->svc_x; +{ ( map { $_=>$self->$_ } $self->fields ), - ( map { $svc_x=>$svc_x->$_ } $svc_x->fields ), + ( map { $_=>$svc_x->$_ } $svc_x->fields ), }; }