foreach my $cust_main_invoice (
qsearch( 'cust_main_invoice', { 'dest' => $self->svcnum } )
) {
- #next unless defined; #wtf is up with qsearch?
- warn $cust_main_invoice;
- next unless defined $cust_main_invoice;
+ unless ( defined($cust_main_invoice) ) {
+ warn "WARNING: something's wrong with qsearch";
+ next;
+ }
my %hash = $cust_main_invoice->hash;
$hash{'dest'} = $self->email;
my $new = new FS::cust_main_invoice \%hash;
return "Username in use"
if $old->username ne $new->username &&
- qsearchs( 'svc_acct', { 'username' => $new->username } );
-
- return "Can't change uid!" if $old->uid != $new->uid;
+ qsearchs( 'svc_acct', { 'username' => $new->username,
+ 'domsvc' => $new->domsvc,
+ } );
+ {
+ #no warnings 'numeric'; #alas, a 5.006-ism
+ local($^W) = 0;
+ return "Can't change uid!" if $old->uid != $new->uid;
+ }
return "can't change username using Cyrus"
if $cyrus_server && $old->username ne $new->username;
sub suspend {
my $self = shift;
my %hash = $self->hash;
- unless ( $hash{_password} =~ /^\*SUSPENDED\* / ) {
+ unless ( $hash{_password} =~ /^\*SUSPENDED\* /
+ || $hash{_password} eq '*'
+ ) {
$hash{_password} = '*SUSPENDED* '.$hash{_password};
my $new = new FS::svc_acct ( \%hash );
$new->replace($self);
=head1 VERSION
-$Id: svc_acct.pm,v 1.54 2001-11-05 13:57:31 ivan Exp $
+$Id: svc_acct.pm,v 1.60 2001-12-20 02:09:52 ivan Exp $
=head1 BUGS