diff options
| -rw-r--r-- | FS/FS/part_svc.pm | 14 | 
1 files changed, 11 insertions, 3 deletions
| diff --git a/FS/FS/part_svc.pm b/FS/FS/part_svc.pm index d3fe3b6cc..dc7449a4f 100644 --- a/FS/FS/part_svc.pm +++ b/FS/FS/part_svc.pm @@ -875,13 +875,21 @@ sub _upgrade_data {  #class method      next if $col->columnvalue =~ /^[\d,]+$/ || !$col->columnvalue;      my @groupnames = split(',',$col->columnvalue);      my @groupnums; +    my $error = '';      foreach my $groupname ( @groupnames ) { -        my $g = qsearchs('radius_group', { 'groupname' => $groupname } ) -                    || die "invalid group ".$groupname; +        my $g = qsearchs('radius_group', { 'groupname' => $groupname } ); +        unless ( $g ) { +            $g = new FS::radius_group { +                            'groupname' => $groupname, +                            'description' => $groupname, +                            }; +            $error = $g->insert; +            die $error if $error; +        }          push @groupnums, $g->groupnum;      }      $col->columnvalue(join(',',@groupnums)); -    my $error = $col->replace; +    $error = $col->replace;      die $error if $error;    } | 
