projects
/
freeside.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
f3066cb
)
re-write RADIUS groups, RT13274
author
levinse
<levinse>
Wed, 29 Jun 2011 04:52:20 +0000
(
04:52
+0000)
committer
levinse
<levinse>
Wed, 29 Jun 2011 04:52:20 +0000
(
04:52
+0000)
FS/FS/part_svc.pm
patch
|
blob
|
history
diff --git
a/FS/FS/part_svc.pm
b/FS/FS/part_svc.pm
index
d3fe3b6
..
dc7449a
100644
(file)
--- 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;
next if $col->columnvalue =~ /^[\d,]+$/ || !$col->columnvalue;
my @groupnames = split(',',$col->columnvalue);
my @groupnums;
+ my $error = '';
foreach my $groupname ( @groupnames ) {
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));
push @groupnums, $g->groupnum;
}
$col->columnvalue(join(',',@groupnums));
-
my
$error = $col->replace;
+ $error = $col->replace;
die $error if $error;
}
die $error if $error;
}