initial h2xs
[freeside.git] / site_perl / svc_acct.pm
index 473f78b..9ae531a 100644 (file)
@@ -7,6 +7,8 @@ use FS::Conf;
 use FS::Record qw( qsearchs fields );
 use FS::svc_Common;
 use FS::SSH qw(ssh);
+use FS::part_svc;
+use FS::svc_acct_pop;
 
 @ISA = qw( FS::svc_Common );
 
@@ -120,6 +122,7 @@ sub insert {
   local $SIG{QUIT} = 'IGNORE';
   local $SIG{TERM} = 'IGNORE';
   local $SIG{TSTP} = 'IGNORE';
+  local $SIG{PIPE} = 'IGNORE';
 
   $error = $self->check;
   return $error if $error;
@@ -188,6 +191,7 @@ sub delete {
   local $SIG{QUIT} = 'IGNORE';
   local $SIG{TERM} = 'IGNORE';
   local $SIG{TSTP} = 'IGNORE';
+  local $SIG{PIPE} = 'IGNORE';
 
   $error = $self->SUPER::delete;
   return $error if $error;
@@ -232,7 +236,7 @@ sub replace {
     if $old->username ne $new->username &&
       qsearchs( 'svc_acct', { 'username' => $new->username } );
 
-  return "Can't change uid!" if $old->uid ne $new->uid;
+  return "Can't change uid!" if $old->uid != $new->uid;
 
   #change homdir when we change username
   $new->setfield('dir', '') if $old->username ne $new->username;
@@ -242,6 +246,7 @@ sub replace {
   local $SIG{QUIT} = 'IGNORE';
   local $SIG{TERM} = 'IGNORE';
   local $SIG{TSTP} = 'IGNORE';
+  local $SIG{PIPE} = 'IGNORE';
 
   $error = $new->SUPER::replace($old);
   return $error if $error;
@@ -373,7 +378,8 @@ sub check {
       if ( $shell = (grep $_ eq $recref->{shell}, @shells)[0] ) {
         $recref->{shell} = $shell;
       } else {
-        return "Illegal shell ". $self->shell;
+        return "Illegal shell \`". $self->shell. "\'; ".
+               $conf->dir. "/shells contains: @shells";
       }
     } else {
       $recref->{shell} = '/bin/sync';
@@ -440,7 +446,7 @@ sub check {
 
 =head1 VERSION
 
-$Id: svc_acct.pm,v 1.4 1998-12-30 00:30:45 ivan Exp $
+$Id: svc_acct.pm,v 1.8 1999-07-29 08:47:26 ivan Exp $
 
 =head1 BUGS
 
@@ -482,7 +488,19 @@ arbitrary radius attributes ivan@sisd.com 98-aug-13
 pod and FS::conf ivan@sisd.com 98-sep-22
 
 $Log: svc_acct.pm,v $
-Revision 1.4  1998-12-30 00:30:45  ivan
+Revision 1.8  1999-07-29 08:47:26  ivan
+more informative illegal shells error.
+
+Revision 1.7  1999/04/07 14:37:37  ivan
+use FS::part_svc and FS::svc_acct_pop to avoid warnings
+
+Revision 1.6  1999/01/25 12:26:15  ivan
+yet more mod_perl stuff
+
+Revision 1.5  1999/01/18 21:58:09  ivan
+esthetic: eq and ne were used in a few places instead of == and !=
+
+Revision 1.4  1998/12/30 00:30:45  ivan
 svc_ stuff is more properly OO - has a common superclass FS::svc_Common
 
 Revision 1.2  1998/11/13 09:56:55  ivan