add pkey to batch payments and fix a doc typo
[freeside.git] / FS / FS / cust_main_invoice.pm
index d06a718..d6b4cd9 100644 (file)
@@ -88,7 +88,7 @@ sub replace {
 
   return "Can't change custnum!" unless $old->custnum == $new->custnum;
 
-  $new->SUPER::replace;
+  $new->SUPER::replace($old);
 }
 
 
@@ -118,8 +118,9 @@ sub check {
 =item checkdest
 
 Checks the dest field only.  If it finds that the account ends in the
-same domain configured in the configuration files, it will change the
-invoice destination from an email address to a service number instead.
+same domain configured as the B<domain> configuration file, it will change the
+invoice destination from an email address to a service number (see
+L<FS::svc_acct>).
 
 =cut
 
@@ -132,13 +133,14 @@ 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+)$/ ) {
     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);
     }
@@ -157,8 +159,9 @@ 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 } );
+  if ( $self->dest =~ /^(\d+)$/ ) {
+    my $svc_acct = qsearchs( 'svc_acct', { 'svcnum' => $1 } )
+      or return undef;
     $svc_acct->username . '@' . $mydomain;
   } else {
     $self->dest;
@@ -169,7 +172,7 @@ sub address {
 
 =head1 VERSION
 
-$Id: cust_main_invoice.pm,v 1.3 2001-07-27 06:17:46 thalakan Exp $
+$Id: cust_main_invoice.pm,v 1.7 2001-09-16 12:45:35 ivan Exp $
 
 =head1 BUGS