sub delete {
my $self = shift;
- return "Can't delete an account which has (svc_acct_sm) mail aliases!"
- if $self->uid && qsearch( 'svc_acct_sm', { 'domuid' => $self->uid } );
+ if ( defined( $FS::Record::dbdef->table('svc_acct_sm') ) ) {
+ return "Can't delete an account which has (svc_acct_sm) mail aliases!"
+ if $self->uid && qsearch( 'svc_acct_sm', { 'domuid' => $self->uid } );
+ }
return "Can't delete an account which is a (svc_forward) source!"
if qsearch( 'svc_forward', { 'srcsvc' => $self->svcnum } );
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;
my %hash = $cust_main_invoice->hash;
$hash{'dest'} = $self->email;
my $new = new FS::cust_main_invoice \%hash;
}
}
+ if ( $icradius_dbh ) {
+ my $queue = new FS::queue { 'job' => 'FS::svc_acct::icradius_rc_replace' };
+ $error = $queue->insert( $new->username,
+ $new->_password,
+ );
+ if ( $error ) {
+ $dbh->rollback if $oldAutoCommit;
+ return "queueing job (transaction rolled back): $error";
+ }
+ }
+
$dbh->commit or die $dbh->errstr if $oldAutoCommit;
''; #no error
}
+sub icradius_rc_replace {
+ my( $username, $new_password ) = @_;
+
+ my $sth = $icradius_dbh->prepare(
+ "UPDATE radcheck SET Value = ? WHERE UserName = ? and Attribute = ?"
+ );
+ $sth->execute($new_password, $username, 'Password' )
+ or die "can't update radcheck table: ". $sth->errstr;
+
+ 1;
+}
+
=item suspend
Suspends this account by prefixing *SUSPENDED* to the password. If there is an
=head1 VERSION
-$Id: svc_acct.pm,v 1.38 2001-09-11 13:10:22 ivan Exp $
+$Id: svc_acct.pm,v 1.41 2001-09-19 00:24:27 ivan Exp $
=head1 BUGS