X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_main.pm;h=806db00bdc5ac14f0d96982c5529c11afef20c1f;hb=6ebc654a3f2f82be62b16b5bec62b0dd1862e53e;hp=1bf9dd69544890ad29ed4df2b85699e34fc466fc;hpb=b9c9835fc3a990958b21bed560f1ff758735add0;p=freeside.git diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm index 1bf9dd695..806db00bd 100644 --- a/FS/FS/cust_main.pm +++ b/FS/FS/cust_main.pm @@ -1325,7 +1325,7 @@ set as the contact email address for a default contact with the same name as the customer. Currently available options are: I, I, -I, I. +I, I, and I. The I option can be set to an arrayref of tax names or a hashref of tax names and exemption numbers. FS::cust_main_exemption records will be @@ -1339,6 +1339,9 @@ and L for the fields these can contain. I is a synonym for the INVOICING_LIST_ARYREF parameter, and should be used instead if possible. +If I is an arrayref, it will override the list of packages +to be moved to the new address (see L.) + =cut sub replace { @@ -1533,7 +1536,7 @@ sub replace { $self->set('ship_location', ''); #flush cache if ( $old->ship_locationnum and # should only be null during upgrade... $old->ship_locationnum != $self->ship_locationnum ) { - $error = $old->ship_location->move_to($self->ship_location); + $error = $old->ship_location->move_to($self->ship_location, move_pkgs => $options{'move_pkgs'}); if ( $error ) { $dbh->rollback if $oldAutoCommit; return $error; @@ -5448,11 +5451,12 @@ sub _upgrade_next_recnum { my $recnum = shift @$recnums; return $recnum if $recnum; my $tclass = 'FS::'.$table; + my $paycardtypecheck = ($table ne 'cust_pay_pending') ? q( OR paycardtype = 'Tokenized') : ''; my $sql = 'SELECT '.$tclass->primary_key. ' FROM '.$table. ' WHERE '.$tclass->primary_key.' > '.$$lastrecnum. " AND payby IN ( 'CARD', 'DCRD', 'CHEK', 'DCHK' ) ". - " AND ( length(payinfo) < 80 OR paycardtype = 'Tokenized' ) ". + " AND ( length(payinfo) < 80$paycardtypecheck ) ". ' ORDER BY '.$tclass->primary_key.' LIMIT 500'; my $sth = $dbh->prepare($sql) or die $dbh->errstr; $sth->execute() or die $sth->errstr;