don't add fuzzy cache upgrade jobs for cust_main 2.3->3.x upgrade, RT#27856
[freeside.git] / FS / FS / contact.pm
index 5c3981b..b025892 100644 (file)
@@ -2,6 +2,7 @@ package FS::contact;
 use base qw( FS::Record );
 
 use strict;
+use vars qw( $skip_fuzzyfiles );
 use Scalar::Util qw( blessed );
 use FS::Record qw( qsearch qsearchs dbh );
 use FS::prospect_main;
@@ -11,6 +12,9 @@ use FS::cust_location;
 use FS::contact_phone;
 use FS::contact_email;
 use FS::queue;
+use FS::cust_pkg;
+
+$skip_fuzzyfiles = 0;
 
 =head1 NAME
 
@@ -165,7 +169,7 @@ sub insert {
 
   }
 
-  #unless ( $import || $skip_fuzzyfiles ) {
+  unless ( $skip_fuzzyfiles ) { #unless ( $import || $skip_fuzzyfiles ) {
     #warn "  queueing fuzzyfiles update\n"
     #  if $DEBUG > 1;
     $error = $self->queue_fuzzyfiles_update;
@@ -173,7 +177,7 @@ sub insert {
       $dbh->rollback if $oldAutoCommit;
       return "updating fuzzy search cache: $error";
     }
-  #}
+  }
 
   if ( $self->selfservice_access ) {
     my $error = $self->send_reset_email( queue=>1 );
@@ -211,6 +215,15 @@ sub delete {
   local $FS::UID::AutoCommit = 0;
   my $dbh = dbh;
 
+  foreach my $cust_pkg ( $self->cust_pkg ) {
+    $cust_pkg->contactnum('');
+    my $error = $cust_pkg->replace;
+    if ( $error ) {
+      $dbh->rollback if $oldAutoCommit;
+      return $error;
+    }
+  }
+
   foreach my $object ( $self->contact_phone, $self->contact_email ) {
     my $error = $object->delete;
     if ( $error ) {
@@ -313,7 +326,7 @@ sub replace {
 
   }
 
-  #unless ( $import || $skip_fuzzyfiles ) {
+  unless ( $skip_fuzzyfiles ) { #unless ( $import || $skip_fuzzyfiles ) {
     #warn "  queueing fuzzyfiles update\n"
     #  if $DEBUG > 1;
     $error = $self->queue_fuzzyfiles_update;
@@ -321,7 +334,7 @@ sub replace {
       $dbh->rollback if $oldAutoCommit;
       return "updating fuzzy search cache: $error";
     }
-  #}
+  }
 
   if (    ( $old->selfservice_access eq '' && $self->selfservice_access
               && ! $self->_password
@@ -491,6 +504,12 @@ sub cust_main {
   qsearchs('cust_main', { 'custnum' => $self->custnum  } );
 }
 
+sub cust_pkg {
+  my $self = shift;
+  qsearch('cust_pkg', { 'contactnum' => $self->contactnum  } );
+}
+
+
 sub by_selfservice_email {
   my($class, $email) = @_;