X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fcust_main_invoice.pm;h=add0ccab13035fc6174a6f6bdfe82d430edf1f3d;hp=3077d645a03e36e8658df7aebc9c6000630de420;hb=b563ce9b834e4b8c3b2f0508f6c528d8b881e08d;hpb=76191674732cd788622f864d385187504a45f4ed diff --git a/FS/FS/cust_main_invoice.pm b/FS/FS/cust_main_invoice.pm index 3077d645a..add0ccab1 100644 --- a/FS/FS/cust_main_invoice.pm +++ b/FS/FS/cust_main_invoice.pm @@ -1,21 +1,16 @@ 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; use FS::cust_main; use FS::svc_acct; +use FS::Msgcat qw(gettext); @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 @@ -112,15 +107,17 @@ sub check { return "Unknown customer" unless qsearchs('cust_main',{ 'custnum' => $self->custnum }); - ''; #noerror + $self->SUPER::check; } =item checkdest -Checks the dest field only. If it finds that the account ends in the -same domain configured as the B configuration file, it will change the -invoice destination from an email address to a service number (see -L). +Checks the dest field only. + +#If it finds that the account ends in the +#same domain configured as the B configuration file, it will change the +#invoice destination from an email address to a service number (see +#L). =cut @@ -135,17 +132,11 @@ sub checkdest { } elsif ( $self->dest =~ /^(\d+)$/ ) { 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: $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!"; + return gettext("illegal_email_invoice_address"); } ''; #no error @@ -162,7 +153,7 @@ sub address { if ( $self->dest =~ /^(\d+)$/ ) { my $svc_acct = qsearchs( 'svc_acct', { 'svcnum' => $1 } ) or return undef; - $svc_acct->username . '@' . $mydomain; + $svc_acct->email; } else { $self->dest; } @@ -172,7 +163,7 @@ sub address { =head1 VERSION -$Id: cust_main_invoice.pm,v 1.8 2001-10-25 16:13:10 ivan Exp $ +$Id: cust_main_invoice.pm,v 1.14 2003-08-05 00:20:42 khoff Exp $ =head1 BUGS