X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_main_invoice.pm;h=7d8a0725a7389af57b2aa3294513ac172e22ff5c;hb=775d9fe6df79f88479998937d58ae2237a2525aa;hp=58542c688c041982e8ba04122fd9eb1dd92ecdd1;hpb=1f74aa5510087acf5a8d0415f6efb690b0aa0c31;p=freeside.git diff --git a/FS/FS/cust_main_invoice.pm b/FS/FS/cust_main_invoice.pm index 58542c688..7d8a0725a 100644 --- a/FS/FS/cust_main_invoice.pm +++ b/FS/FS/cust_main_invoice.pm @@ -1,7 +1,7 @@ package FS::cust_main_invoice; use strict; -use vars qw(@ISA $conf $mydomain); +use vars qw(@ISA $conf); use Exporter; use FS::Record qw( qsearchs ); use FS::Conf; @@ -10,12 +10,6 @@ use FS::svc_acct; @ISA = qw( FS::Record ); -#ask FS::UID to run this stuff for us later -$FS::UID::callback{'FS::cust_main_invoice'} = sub { - $conf = new FS::Conf; - $mydomain = $conf->config('domain'); -}; - =head1 NAME FS::cust_main_invoice - Object methods for cust_main_invoice records @@ -88,7 +82,7 @@ sub replace { return "Can't change custnum!" unless $old->custnum == $new->custnum; - $new->SUPER::replace; + $new->SUPER::replace($old); } @@ -133,16 +127,18 @@ sub checkdest { if ( $self->dest eq 'POST' ) { #contemplate our navel } elsif ( $self->dest =~ /^(\d+)$/ ) { - return "Unknown local account (specified by svcnum)" + return "Unknown local account (specified by svcnum: ". $self->dest. ")" unless qsearchs( 'svc_acct', { 'svcnum' => $self->dest } ); - } elsif ( $self->dest =~ /^([\w\.\-]+)\@(([\w\.\-]+\.)+\w+)$/ ) { + } elsif ( $self->dest =~ /^([\w\.\-\&]+)\@(([\w\.\-]+\.)+\w+)$/ ) { my($user, $domain) = ($1, $2); - if ( $domain eq $mydomain ) { - my $svc_acct = qsearchs( 'svc_acct', { 'username' => $user } ); - return "Unknown local account (specified literally)" unless $svc_acct; - $svc_acct->svcnum =~ /^(\d+)$/ or die "Non-numeric svcnum?!"; - $self->dest($1); - } +# if ( $domain eq $mydomain ) { +# my $svc_acct = qsearchs( 'svc_acct', { 'username' => $user } ); +# return "Unknown local account: $user\@$domain (specified literally)" +# unless $svc_acct; +# $svc_acct->svcnum =~ /^(\d+)$/ or die "Non-numeric svcnum?!"; +# $self->dest($1); +# } + $self->dest("$1\@$2"); } else { return "Illegal destination!"; } @@ -158,9 +154,10 @@ Returns the literal email address for this record (or `POST'). sub address { my $self = shift; - if ( $self->dest =~ /(\d+)$/ ) { - my $svc_acct = qsearchs( 'svc_acct', { 'svcnum' => $1 } ); - $svc_acct->username . '@' . $mydomain; + if ( $self->dest =~ /^(\d+)$/ ) { + my $svc_acct = qsearchs( 'svc_acct', { 'svcnum' => $1 } ) + or return undef; + $svc_acct->email; } else { $self->dest; } @@ -170,7 +167,7 @@ sub address { =head1 VERSION -$Id: cust_main_invoice.pm,v 1.4 2001-07-27 17:16:25 ivan Exp $ +$Id: cust_main_invoice.pm,v 1.9 2002-02-10 16:49:50 ivan Exp $ =head1 BUGS