X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fcust_main_note.pm;h=0a203a8f41424a13628d467e461f080db461e963;hp=43c9d5691ec03ce294d852f59f44d04395dcfd69;hb=20f38e4c256094bd938b732950e8f93319f851a5;hpb=b516a7cb6c072871568bb0f217cc2bab6ebddd4a diff --git a/FS/FS/cust_main_note.pm b/FS/FS/cust_main_note.pm index 43c9d5691..0a203a8f4 100644 --- a/FS/FS/cust_main_note.pm +++ b/FS/FS/cust_main_note.pm @@ -2,6 +2,7 @@ package FS::cust_main_note; use strict; use base qw( FS::otaker_Mixin FS::Record ); +use Carp; use FS::Record qw( qsearch qsearchs ); =head1 NAME @@ -106,7 +107,7 @@ sub check { $self->ut_numbern('notenum') || $self->ut_number('custnum') || $self->ut_numbern('_date') - || $self->ut_alphan('otaker') + || $self->ut_textn('otaker') || $self->ut_anything('comments') ; return $error if $error; @@ -114,6 +115,28 @@ sub check { $self->SUPER::check; } +#false laziness w/otaker_Mixin & cust_attachment +sub otaker { + my $self = shift; + if ( scalar(@_) ) { #set + my $otaker = shift; + my($l,$f) = (split(', ', $otaker)); + my $access_user = qsearchs('access_user', { 'username'=>$otaker } ) + || qsearchs('access_user', { 'first'=>$f, 'last'=>$l } ) + or croak "can't set otaker: $otaker not found!"; #confess? + $self->usernum( $access_user->usernum ); + $otaker; #not sure return is used anywhere, but just in case + } else { #get + if ( $self->usernum ) { + $self->access_user->username; + } elsif ( length($self->get('otaker')) ) { + $self->get('otaker'); + } else { + ''; + } + } +} + # Used by FS::Upgrade to migrate to a new database. sub _upgrade_data { # class method my ($class, %opts) = @_;