From f4ea75e514763082b64e1b3654cfbbba2ddf1c01 Mon Sep 17 00:00:00 2001 From: ivan Date: Mon, 25 Nov 2002 10:46:55 +0000 Subject: [PATCH] fix disappearing radius group bug, whew --- FS/FS/svc_acct.pm | 12 +++++++++++- httemplate/edit/svc_acct.cgi | 6 ++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/FS/FS/svc_acct.pm b/FS/FS/svc_acct.pm index c808aeea4..141133403 100644 --- a/FS/FS/svc_acct.pm +++ b/FS/FS/svc_acct.pm @@ -1,7 +1,7 @@ package FS::svc_acct; use strict; -use vars qw( @ISA $noexport_hack $conf +use vars qw( @ISA $DEBUG $me $noexport_hack $conf $dir_prefix @shells $usernamemin $usernamemax $passwordmin $passwordmax $username_ampersand $username_letter $username_letterfirst @@ -32,6 +32,9 @@ use FS::Msgcat qw(gettext); @ISA = qw( FS::svc_Common ); +$DEBUG = 0; +$me = '[FS::svc_acct]'; + #ask FS::UID to run this stuff for us later $FS::UID::callback{'FS::svc_acct'} = sub { $conf = new FS::Conf; @@ -496,6 +499,7 @@ sqlradius export only) sub replace { my ( $new, $old ) = ( shift, shift ); my $error; + warn "$me replacing $old with $new\n" if $DEBUG; return "Username in use" if $old->username ne $new->username && @@ -522,7 +526,13 @@ sub replace { local $FS::UID::AutoCommit = 0; my $dbh = dbh; + # redundant, but so $new->usergroup gets set + my $error = $new->check; + return $error if $error; + $old->usergroup( [ $old->radius_groups ] ); + warn "old groups: ". join(' ',@{$old->usergroup}). "\n" if $DEBUG; + warn "new groups: ". join(' ',@{$new->usergroup}). "\n" if $DEBUG; if ( $new->usergroup ) { #(sorta) false laziness with FS::part_export::sqlradius::_export_replace my @newgroups = @{$new->usergroup}; diff --git a/httemplate/edit/svc_acct.cgi b/httemplate/edit/svc_acct.cgi index c27bab88a..d4c9a738d 100755 --- a/httemplate/edit/svc_acct.cgi +++ b/httemplate/edit/svc_acct.cgi @@ -72,6 +72,12 @@ if ( $cgi->param('error') ) { } } + +#fixed radius groups always override & display +if ( $part_svc->part_svc_column('usergroup')->columnflag eq "F" ) { + @groups = split(',', $part_svc->part_svc_column('usergroup')->columnvalue); +} + my $action = $svcnum ? 'Edit' : 'Add'; my $svc = $part_svc->getfield('svc'); -- 2.11.0