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;
@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
return "Can't change custnum!" unless $old->custnum == $new->custnum;
- $new->SUPER::replace;
+ $new->SUPER::replace($old);
}
} 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);
- }
+# 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!";
}
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;
}
=head1 VERSION
-$Id: cust_main_invoice.pm,v 1.6 2001-08-12 00:06:33 ivan Exp $
+$Id: cust_main_invoice.pm,v 1.10 2002-02-10 17:02:37 ivan Exp $
=head1 BUGS