added user interface for svc_forward and vpopmail support
[freeside.git] / FS / FS / svc_acct.pm
index 9f95f40..42eb7d9 100644 (file)
@@ -381,18 +381,15 @@ Sets any fixed values; see L<FS::part_svc>.
 sub check {
   my $self = shift;
 
-  my $error = 
-    $self->ut_numbern('svcnum')
-    || $self->ut_number('domsvc')
-  ;
-  return $error if $error;
-
   my($recref) = $self->hashref;
 
   my $x = $self->setfixed;
   return $x unless ref($x);
   my $part_svc = $x;
 
+  my $error = $self->ut_number('domsvc');
+  return $error if $error;
+
   my $ulen = $usernamemax || $self->dbdef_table->column('username')->length;
   $recref->{username} =~ /^([a-z0-9_\-\.]{$usernamemin,$ulen})$/
     or return "Illegal username";
@@ -554,11 +551,30 @@ sub radius_check {
   } grep { /^rc_/ && $self->getfield($_) } fields( $self->table );
 }
 
+=item email
+
+Returns an email address associated with the account.
+
+=cut
+
+sub email {
+  my $self = shift;
+  my $domain;
+  my $svc_domain = qsearchs( 'svc_domain', { 'svcnum' => $self->domsvc } );
+  if ($svc_domain) {
+    $domain=$svc_domain->domain;
+  }else{
+    warn "couldn't find svc_acct.domsvc " . $self->domsvc . "!";
+    $domain="unknown";
+  }
+  return $self->username . "@" . $domain;
+}
+
 =back
 
 =head1 VERSION
 
-$Id: svc_acct.pm,v 1.21 2001-08-13 00:21:54 ivan Exp $
+$Id: svc_acct.pm,v 1.24 2001-08-19 15:53:34 jeff Exp $
 
 =head1 BUGS