X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_main.pm;h=a0a7e91ba9fb9126cdb68e0adbbf7450ca208e1a;hb=46a8cddeb5dcbb5e858389896a5d4598c4c57df3;hp=f96a45aefccaa5af407268386867dbc462af6d9d;hpb=17470f0458a1cf5cf3ef7ebbcbbda836d37a7ee1;p=freeside.git diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm index f96a45aef..a0a7e91ba 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; @@ -40,6 +40,7 @@ use FS::payby; use FS::cust_pkg; use FS::cust_svc; use FS::cust_bill; +use FS::legacy_cust_bill; use FS::cust_pay; use FS::cust_pay_pending; use FS::cust_pay_void; @@ -82,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'); } @@ -1628,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; @@ -1642,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"; @@ -2481,6 +2482,7 @@ sub batch_card { 'status' => 'O', 'payby' => FS::payby->payby2payment($payby), ); + $pay_batch{agentnum} = $self->agentnum if $conf->exists('batch-spoolagent'); my $pay_batch = qsearchs( 'pay_batch', \%pay_batch ); @@ -3574,6 +3576,25 @@ sub open_cust_bill { } +=item legacy_cust_bill [ OPTION => VALUE... | EXTRA_QSEARCH_PARAMS_HASHREF ] + +Returns all the legacy invoices (see L) for this customer. + +=cut + +sub legacy_cust_bill { + my $self = shift; + + #return $self->num_legacy_cust_bill unless wantarray; + + map { $_ } #behavior of sort undefined in scalar context + sort { $a->_date <=> $b->_date } + qsearch({ 'table' => 'legacy_cust_bill', + 'hashref' => { 'custnum' => $self->custnum, }, + 'order_by' => 'ORDER BY _date ASC', + }); +} + =item cust_statement [ OPTION => VALUE... | EXTRA_QSEARCH_PARAMS_HASHREF ] Returns all the statements (see L) for this customer. @@ -3858,6 +3879,9 @@ sub display_custnum { my $self = shift; if ( $conf->exists('cust_main-default_agent_custid') && $self->agent_custid ){ return $self->agent_custid; + } elsif ( $conf->config('cust_main-custnum-display_prefix') ) { + return $conf->config('cust_main-custnum-display_prefix'). + sprintf('%08d', $self->custnum) } else { return $self->custnum; } @@ -4441,42 +4465,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