X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fotaker_Mixin.pm;h=af61a85ac12156ea5238e68ceb229ab154b33fbb;hb=3c54c844c665ed108c7892a154fd3972fab1f3e5;hp=4aa47c38d82d85384a94c518524851f92f5e1eb4;hpb=dcfabb6fcf75a5a43e0d00eb4e25db61ea155f89;p=freeside.git diff --git a/FS/FS/otaker_Mixin.pm b/FS/FS/otaker_Mixin.pm index 4aa47c38d..af61a85ac 100644 --- a/FS/FS/otaker_Mixin.pm +++ b/FS/FS/otaker_Mixin.pm @@ -4,6 +4,7 @@ use strict; use Carp qw( croak ); #confess ); use FS::Record qw( qsearch qsearchs ); use FS::access_user; +use FS::UID qw( dbh ); sub otaker { my $self = shift; @@ -13,6 +14,7 @@ sub otaker { if ( !$access_user && $otaker =~ /^(.+), (.+)$/ ) { #same as below.. my($lastname, $firstname) = ($1, $2); $otaker = lc($firstname.$lastname); + $otaker =~ s/ //g; $access_user = qsearchs('access_user', { 'first' => $firstname, 'last' => $lastname } ) || qsearchs('access_user', { 'username' => $otaker } ); @@ -40,11 +42,13 @@ sub _upgrade_otaker { my $class = shift; my $table = $class->table; + my $limit = ( $table eq 'cust_attachment' ? 10 : 1000 ); + while ( 1 ) { my @records = qsearch({ 'table' => $table, 'hashref' => {}, - 'extra_sql' => 'WHERE otaker IS NOT NULL LIMIT 1000', + 'extra_sql' => "WHERE otaker IS NOT NULL LIMIT $limit", }); last unless @records; @@ -56,6 +60,7 @@ sub _upgrade_otaker { if ( $username =~ /^(.+), (.+)$/ ) { ($lastname, $firstname) = ($1, $2); $username = lc($firstname.$lastname); + $username =~ s/ //g; } my $access_user = new FS::access_user { 'username' => $username, @@ -72,6 +77,11 @@ sub _upgrade_otaker { my $error = $record->replace; die $error if $error; } + + if ( $table eq 'cust_attachment' ) { + warn " committing (cust_attachment) \n"; + dbh->commit or die dbh->errstr; + } }