+sub radius_group {
+ my $self = shift;
+ qsearchs('radius_group', { 'groupnum' => $self->groupnum } );
+}
+
+sub _upgrade_data { #class method
+ my ($class, %opts) = @_;
+
+ my %group_cache = map { $_->groupname => $_->groupnum }
+ qsearch('radius_group', {});
+
+ my @radius_usergroup = qsearch('radius_usergroup', {} );
+ my $error = '';
+ foreach my $rug ( @radius_usergroup ) {
+ my $groupname = $rug->groupname;
+ next unless $groupname;
+ unless(defined($group_cache{$groupname})) {
+ my $g = new FS::radius_group {
+ 'groupname' => $groupname,
+ 'description' => $groupname,
+ };
+ $error = $g->insert;
+ die $error if $error;
+ $group_cache{$groupname} = $g->groupnum;
+ }
+ $rug->groupnum($group_cache{$groupname});
+ $rug->groupname('');
+ $error = $rug->replace;
+ die $error if $error;
+ }
+}
+
+=back