return "Can't change custnum!" unless $old->custnum == $new->custnum;
- $new->SUPER::replace;
+ $new->SUPER::replace($old);
}
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;
+ return "Unknown local account: $user\@$domain (specified literally)"
+ unless $svc_acct;
$svc_acct->svcnum =~ /^(\d+)$/ or die "Non-numeric svcnum?!";
$self->dest($1);
}
sub address {
my $self = shift;
- if ( $self->dest =~ /(\d+)$/ ) {
- my $svc_acct = qsearchs( 'svc_acct', { 'svcnum' => $1 } );
+ if ( $self->dest =~ /^(\d+)$/ ) {
+ my $svc_acct = qsearchs( 'svc_acct', { 'svcnum' => $1 } )
+ or return undef;
$svc_acct->username . '@' . $mydomain;
} else {
$self->dest;
=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.8 2001-10-25 16:13:10 ivan Exp $
=head1 BUGS