X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fsvc_acct.pm;h=e8c797afa79b2b72f72c3bae2795d486e10570de;hb=12f4cc4b100b849de3584d5d1a2376cebcd8729f;hp=1c4b574e952ba07db4e4e94b290eb92222c13abe;hpb=9f2280fbce022ab9bcfc46fe94483730b0aeb0f8;p=freeside.git diff --git a/FS/FS/svc_acct.pm b/FS/FS/svc_acct.pm index 1c4b574e9..e8c797afa 100644 --- a/FS/FS/svc_acct.pm +++ b/FS/FS/svc_acct.pm @@ -993,6 +993,10 @@ sub replace { } + return "can't change username" + if $old->username ne $new->username + && $conf->exists('svc_acct-no_edit_username'); + #change homdir when we change username $new->setfield('dir', '') if $old->username ne $new->username; @@ -2559,7 +2563,13 @@ sub radius_groups { unless ref($self->usergroup) eq 'ARRAY'; #when provisioning records, export callback runs in svc_Common.pm before #radius_usergroup records can be inserted... - @{$self->usergroup}; + my $groups = join(',',@{$self->usergroup}); + my @groups; + return @groups unless length($groups); + @groups = qsearch({ 'table' => 'radius_group', + 'extra_sql' => "where groupnum in ($groups)", + }); + map { $_->groupname } @groups; } else { my $format = shift || ''; my @groups = qsearch({ 'table' => 'radius_usergroup',