summaryrefslogtreecommitdiff
path: root/FS/FS/part_export/sqlradius.pm
diff options
context:
space:
mode:
authorivan <ivan>2011-10-17 23:53:18 +0000
committerivan <ivan>2011-10-17 23:53:18 +0000
commit5ca058988c40a2b009f6a958c25aa22558c128b6 (patch)
treef890ad6debca1c2f5dc9441d5f47156cb5d63835 /FS/FS/part_export/sqlradius.pm
parent17470f0458a1cf5cf3ef7ebbcbbda836d37a7ee1 (diff)
don't change RADIUS password if there's a group change, RT#14398
Diffstat (limited to 'FS/FS/part_export/sqlradius.pm')
-rw-r--r--FS/FS/part_export/sqlradius.pm20
1 files changed, 12 insertions, 8 deletions
diff --git a/FS/FS/part_export/sqlradius.pm b/FS/FS/part_export/sqlradius.pm
index 4dea80e..b868121 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),
'',