backup the schema for tables we don't need the data from. RT#85959
[freeside.git] / FS / FS / cust_svc.pm
index 08183b4..cc5f4bf 100644 (file)
@@ -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 ),
   };
 }