X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fpart_export%2Fsqlradius.pm;h=57bbdb439488c651c505a646c78b9e82105d5f8f;hb=404f8f0494ab5fd2ff947bf82d085fed52c126c5;hp=752bf12a2f9dcac4f67f13012918a3e7196ecaec;hpb=fb4ab1073f0d15d660c6cdc4e07afebf68ef3924;p=freeside.git diff --git a/FS/FS/part_export/sqlradius.pm b/FS/FS/part_export/sqlradius.pm index 752bf12a2..57bbdb439 100644 --- a/FS/FS/part_export/sqlradius.pm +++ b/FS/FS/part_export/sqlradius.pm @@ -1154,8 +1154,13 @@ sub _upgrade_exporttype { sub import_attrs { my $self = shift; - my $dbh = sqlradius_connect( map $self->option($_), + my $dbh = DBI->connect( map $self->option($_), qw( datasrc username password ) ); + unless ( $dbh ) { + warn "Error connecting to RADIUS server: $DBI::errstr\n"; + return; + } + my $usergroup = $self->option('usergroup') || 'usergroup'; my $error; warn "Importing RADIUS groups and attributes from ".$self->option('datasrc'). @@ -1185,7 +1190,10 @@ SELECT groupname, attribute, op, value, \'R\' FROM radgroupreply'; 'priority' => 1, }; $error = $radius_group->insert; - return "error inserting group $groupname: $error" if $error; + if ( $error ) { + warn "error inserting group $groupname: $error"; + next;#don't continue trying to insert the attribute + } $attrs_of{$groupname} = {}; $groupnum_of{$groupname} = $radius_group->groupnum; } @@ -1202,7 +1210,10 @@ SELECT groupname, attribute, op, value, \'R\' FROM radgroupreply'; 'value' => $value, }; $error = $new->replace($old); - return "error modifying attr $attrname: $error" if $error; + if ( $error ) { + warn "error modifying attr $attrname: $error"; + next; + } } else { $new = new FS::radius_attr { @@ -1213,7 +1224,10 @@ SELECT groupname, attribute, op, value, \'R\' FROM radgroupreply'; 'value' => $value, }; $error = $new->insert; - return "error inserting attr $attrname: $error" if $error; + if ( $error ) { + warn "error inserting attr $attrname: $error" if $error; + next; + } } $attrs_of{$groupname}->{$attrname} = $new; } #foreach $row