From: ivan Date: Mon, 17 Oct 2011 23:53:19 +0000 (+0000) Subject: don't change RADIUS password if there's a group change, RT#14398 X-Git-Tag: freeside_2_3_1~231 X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=d54c1ccb1355bd4d977e06054694373a84cb68ff don't change RADIUS password if there's a group change, RT#14398 --- diff --git a/FS/FS/part_export/sqlradius.pm b/FS/FS/part_export/sqlradius.pm index 4dea80e49..b868121bf 100644 --- a/FS/FS/part_export/sqlradius.pm +++ b/FS/FS/part_export/sqlradius.pm @@ -251,16 +251,20 @@ sub _export_suspend { local $FS::UID::AutoCommit = 0; my $dbh = dbh; - my $err_or_queue = $self->sqlradius_queue( $new->svcnum, 'insert', - 'check', $self->export_username($new), $new->radius_check ); - unless ( ref($err_or_queue) ) { - $dbh->rollback if $oldAutoCommit; - return $err_or_queue; + my @newgroups = $self->suspended_usergroups($svc_acct); + + unless (@newgroups) { #don't change password if assigning to a suspended group + + my $err_or_queue = $self->sqlradius_queue( $new->svcnum, 'insert', + 'check', $self->export_username($new), $new->radius_check ); + unless ( ref($err_or_queue) ) { + $dbh->rollback if $oldAutoCommit; + return $err_or_queue; + } + } - my $error; - my (@newgroups) = $self->suspended_usergroups($svc_acct); - $error = + my $error = $self->sqlreplace_usergroups( $new->svcnum, $self->export_username($new), '',