summaryrefslogtreecommitdiff
path: root/FS/FS/cust_attachment.pm
diff options
context:
space:
mode:
authorivan <ivan>2010-04-04 23:18:23 +0000
committerivan <ivan>2010-04-04 23:18:23 +0000
commitf4cff6248e3340d2321e9d761fec9ea12b28f781 (patch)
tree94770bfb725fa79ae8eb0e829b809b087bbc0f14 /FS/FS/cust_attachment.pm
parent1a2e0285a2c596cc202ef9a9f1cf0815f4d7c5ff (diff)
fix otaker upgrade for cust_attachment & cust_main_note, hopefully
Diffstat (limited to 'FS/FS/cust_attachment.pm')
-rw-r--r--FS/FS/cust_attachment.pm24
1 files changed, 23 insertions, 1 deletions
diff --git a/FS/FS/cust_attachment.pm b/FS/FS/cust_attachment.pm
index 8a39883..c5acab0 100644
--- a/FS/FS/cust_attachment.pm
+++ b/FS/FS/cust_attachment.pm
@@ -128,7 +128,7 @@ sub check {
$self->ut_numbern('attachnum')
|| $self->ut_number('custnum')
|| $self->ut_numbern('_date')
- || $self->ut_alphan('otaker')
+ || $self->ut_textn('otaker')
|| $self->ut_text('filename')
|| $self->ut_text('mime_type')
|| $self->ut_numbern('disabled')
@@ -154,6 +154,28 @@ sub size {
return length($self->body);
}
+#false laziness w/otaker_Mixin & cust_main_note
+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) = @_;