use strict;
use vars qw( @ISA $nossh_hack $conf $dir_prefix @shells $usernamemin
$usernamemax $passwordmin $username_letter $username_letterfirst
- $shellmachine $useradd $usermod $userdel
+ $shellmachine $useradd $usermod $userdel $mydomain
@saltset @pw_set);
use Carp;
use FS::Conf;
-use FS::Record qw( qsearch qsearchs fields );
+use FS::Record qw( qsearch qsearchs fields dbh );
use FS::svc_Common;
use Net::SSH qw(ssh);
use FS::part_svc;
}
$username_letter = $conf->exists('username-letter');
$username_letterfirst = $conf->exists('username-letterfirst');
+ $mydomain = $conf->config('domain');
};
@saltset = ( 'a'..'z' , 'A'..'Z' , '0'..'9' , '.' , '/' );
return $x unless ref($x);
my $part_svc = $x;
- my $error = $self->ut_number('domsvc');
+ my $error = $self->ut_numbern('svcnum')
+ || $self->ut_number('domsvc')
+ ;
return $error if $error;
my $ulen = $usernamemax || $self->dbdef_table->column('username')->length;
} grep { /^rc_/ && $self->getfield($_) } fields( $self->table );
}
+=item domain
+
+Returns the domain associated with this account.
+
+=cut
+
+sub domain {
+ my $self = shift;
+ if ( $self->domsvc ) {
+ my $svc_domain = qsearchs( 'svc_domain', { 'svcnum' => $self->domsvc } );
+ $svc_domain->domain;
+ } else {
+ $mydomain or die "svc_acct.domsvc is null and no legacy domain config file";
+ }
+}
+
=item email
Returns an email address associated with the account.
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;
+ $self->username. '@'. $self->domain;
}
=back
=head1 VERSION
-$Id: svc_acct.pm,v 1.25 2001-08-20 09:41:52 ivan Exp $
+$Id: svc_acct.pm,v 1.28 2001-08-21 03:03:36 ivan Exp $
=head1 BUGS