optimize
[freeside.git] / bin / sqlradius-reexport-group
1 #!/usr/bin/perl
2
3 use FS::UID 'adminsuidsetup';
4 use FS::Record qw( qsearch qsearchs );
5 use FS::part_export;
6 use FS::radius_group;
7
8 my ($user, $exportnum, $group) = @ARGV;
9 die "usage:
10 sqlradius-reexport-group <username> <exportnum> <group>
11 " unless $user and $exportnum and $group;
12
13
14 my $dbh = adminsuidsetup($user) or die;
15 $FS::UID::AutoCommit = 0;
16 my $radius_group;
17 if ( $group =~ /^\d+$/ ) {
18   $radius_group = FS::radius_group->by_key($group);
19 } else {
20   $radius_group = qsearchs('radius_group',{'groupname' => $group});
21 }
22 die "no radius group $group" unless $radius_group;
23
24 my $export = FS::part_export->by_key($exportnum)
25   or die "no export with exportnum '$exportnum'";
26
27 my @attrs = qsearch('radius_attr', {groupnum => $radius_group->groupnum});
28 foreach my $attr (@attrs) {
29   print $attr->attrname."\n";
30   my $error = $export->export_attr_insert($attr);
31   die $error if $error;
32 }
33
34 $dbh->commit;