diff options
| -rw-r--r-- | FS/FS/cust_main.pm | 48 | ||||
| -rw-r--r-- | FS/FS/cust_main/Search.pm | 39 | 
2 files changed, 43 insertions, 44 deletions
diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm index 461c38762..945b4f4c0 100644 --- a/FS/FS/cust_main.pm +++ b/FS/FS/cust_main.pm @@ -14,7 +14,7 @@ use vars qw( $DEBUG $me $conf               @encrypted_fields               $import               $ignore_expired_card $ignore_illegal_zip $ignore_banned_card -             $skip_fuzzyfiles @fuzzyfields +             $skip_fuzzyfiles               @paytypes             );  use Carp; @@ -83,7 +83,6 @@ $ignore_illegal_zip = 0;  $ignore_banned_card = 0;  $skip_fuzzyfiles = 0; -@fuzzyfields = ( 'first', 'last', 'company', 'address1' );  @encrypted_fields = ('payinfo', 'paycvv');  sub nohistory_fields { ('payinfo', 'paycvv'); } @@ -1629,6 +1628,7 @@ Used by insert & replace to update the fuzzy search cache  =cut +use FS::cust_main::Search;  sub queue_fuzzyfiles_update {    my $self = shift; @@ -1643,16 +1643,16 @@ sub queue_fuzzyfiles_update {    local $FS::UID::AutoCommit = 0;    my $dbh = dbh; -  my $queue = new FS::queue { 'job' => 'FS::cust_main::append_fuzzyfiles' }; -  my $error = $queue->insert( map $self->getfield($_), @fuzzyfields ); +  my $queue = new FS::queue { 'job' => 'FS::cust_main::Search::append_fuzzyfiles' }; +  my $error = $queue->insert( map $self->getfield($_), @FS::cust_main::Search::fuzzyfields );    if ( $error ) {      $dbh->rollback if $oldAutoCommit;      return "queueing job (transaction rolled back): $error";    }    if ( $self->ship_last ) { -    $queue = new FS::queue { 'job' => 'FS::cust_main::append_fuzzyfiles' }; -    $error = $queue->insert( map $self->getfield("ship_$_"), @fuzzyfields ); +    $queue = new FS::queue { 'job' => 'FS::cust_main::Search::append_fuzzyfiles' }; +    $error = $queue->insert( map $self->getfield("ship_$_"), @FS::cust_main::Search::fuzzyfields );      if ( $error ) {        $dbh->rollback if $oldAutoCommit;        return "queueing job (transaction rolled back): $error"; @@ -4415,42 +4415,6 @@ sub search {  =over 4 -=item append_fuzzyfiles FIRSTNAME LASTNAME COMPANY ADDRESS1 - -=cut - -use FS::cust_main::Search; -sub append_fuzzyfiles { -  #my( $first, $last, $company ) = @_; - -  FS::cust_main::Search::check_and_rebuild_fuzzyfiles(); - -  use Fcntl qw(:flock); - -  my $dir = $FS::UID::conf_dir. "/cache.". $FS::UID::datasrc; - -  foreach my $field (@fuzzyfields) { -    my $value = shift; - -    if ( $value ) { - -      open(CACHE,">>$dir/cust_main.$field") -        or die "can't open $dir/cust_main.$field: $!"; -      flock(CACHE,LOCK_EX) -        or die "can't lock $dir/cust_main.$field: $!"; - -      print CACHE "$value\n"; - -      flock(CACHE,LOCK_UN) -        or die "can't unlock $dir/cust_main.$field: $!"; -      close CACHE; -    } - -  } - -  1; -} -  =item batch_charge  =cut diff --git a/FS/FS/cust_main/Search.pm b/FS/FS/cust_main/Search.pm index e017400a5..db752adc3 100644 --- a/FS/FS/cust_main/Search.pm +++ b/FS/FS/cust_main/Search.pm @@ -18,7 +18,7 @@ use FS::svc_acct;  $DEBUG = 0;  $me = '[FS::cust_main::Search]'; -@fuzzyfields = @FS::cust_main::fuzzyfields; +@fuzzyfields = ( 'first', 'last', 'company', 'address1' );  install_callback FS::UID sub {     $conf = new FS::Conf; @@ -859,7 +859,7 @@ sub fuzzy_search {  sub check_and_rebuild_fuzzyfiles {    my $dir = $FS::UID::conf_dir. "/cache.". $FS::UID::datasrc; -  rebuild_fuzzyfiles() if grep { ! -e "$dir/cust_main.$_" } @fuzzyfields +  rebuild_fuzzyfiles() if grep { ! -e "$dir/cust_main.$_" } @fuzzyfields;  }  =item rebuild_fuzzyfiles @@ -902,6 +902,41 @@ sub rebuild_fuzzyfiles {  } +=item append_fuzzyfiles FIRSTNAME LASTNAME COMPANY ADDRESS1 + +=cut + +sub append_fuzzyfiles { +  #my( $first, $last, $company ) = @_; + +  check_and_rebuild_fuzzyfiles(); + +  use Fcntl qw(:flock); + +  my $dir = $FS::UID::conf_dir. "/cache.". $FS::UID::datasrc; + +  foreach my $field (@fuzzyfields) { +    my $value = shift; + +    if ( $value ) { + +      open(CACHE,">>$dir/cust_main.$field") +        or die "can't open $dir/cust_main.$field: $!"; +      flock(CACHE,LOCK_EX) +        or die "can't lock $dir/cust_main.$field: $!"; + +      print CACHE "$value\n"; + +      flock(CACHE,LOCK_UN) +        or die "can't unlock $dir/cust_main.$field: $!"; +      close CACHE; +    } + +  } + +  1; +} +  =item all_X  =cut  | 
