1 package FS::otaker_Mixin;
4 use Carp qw( croak ); #confess );
5 use FS::Record qw( qsearch qsearchs );
10 if ( scalar(@_) ) { #set
12 my $access_user = qsearchs('access_user', { 'username' => $otaker } );
13 if ( !$access_user && $otaker =~ /^(.+), (.+)$/ ) { #same as below..
15 $access_user = qsearchs('access_user', { 'username' => $otaker } );
17 croak "can't set otaker: $otaker not found!" unless $access_user; #confess?
18 $self->usernum( $access_user->usernum );
19 $otaker; #not sure return is used anywhere, but just in case
21 if ( $self->usernum ) {
22 $self->access_user->username;
23 } elsif ( length($self->get('otaker')) ) {
33 qsearchs('access_user', { 'usernum' => $self->usernum } );
38 my $table = $class->table;
41 my @records = qsearch({
44 'extra_sql' => 'WHERE otaker IS NOT NULL LIMIT 1000',
48 foreach my $record (@records) {
49 eval { $record->otaker($record->otaker) };
51 my $username = $record->otaker;
52 if ( $username =~ /^(.+), (.+)$/ ) {
53 $username = lc($2.$1);
55 my $access_user = new FS::access_user {
56 'username' => $username,
57 '_password' => 'CHANGEME',
62 my $error = $access_user->insert;
64 $record->otaker($record->otaker);
66 $record->set('otaker', '');
67 my $error = $record->replace;