X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=bin%2Ffs-radius-add-check;h=ee093b375e7835d8e12a3738f64d9691738d9b2b;hp=435f3e88a81217105d857d45a5aa02c1faf84583;hb=1f2021c9b76da7cc59e2a981fbac6b24312876d2;hpb=61fc4e61c6644d2e0abdffe8cbdfafd4b092e84b diff --git a/bin/fs-radius-add-check b/bin/fs-radius-add-check index 435f3e88a..ee093b375 100755 --- a/bin/fs-radius-add-check +++ b/bin/fs-radius-add-check @@ -1,15 +1,18 @@ #!/usr/bin/perl -Tw # quick'n'dirty hack of fs-setup to add radius attributes +# (i'm not sure this even works in the new world of schema changes - everyone +# uses attributes via groups now) use strict; use DBI; -use FS::UID qw(adminsuidsetup checkeuid getsecrets); -die "Not running uid freeside!" unless checkeuid(); +use FS::UID qw(adminsuidsetup); +use FS::raddb; -my $user = shift or die &usage; -getsecrets($user); +my %attrib2db = + map { lc($FS::raddb::attrib{$_}) => $_ } keys %FS::raddb::attrib; +my $user = shift or die &usage; my $dbh = adminsuidsetup $user; ### @@ -18,7 +21,8 @@ print "\n\n", <); @@ -33,21 +37,30 @@ my($char_d) = 80; #default maxlength for text fields ### foreach my $attribute ( @attributes ) { - foreach my $statement ( - "ALTER TABLE svc_acct ADD rc_$attribute varchar($char_d) NULL", - "ALTER TABLE svc_acct ADD rc_$attribute varchar($char_d) NULL", - "ALTER TABLE part_svc ADD svc_acct__rc_$attribute varchar($char_d) NULL;", - "ALTER TABLE part_svc ADD svc_acct__rc_${attribute}_flag char(1) NULL;", - ) { - $dbh->do( $statement ) or warn "Error executing $statement: ". $dbh->errstr; } + + my $statement = + "ALTER TABLE svc_acct ADD COLUMN rc_$attribute varchar($char_d) NULL"; + my $sth = $dbh->prepare( $statement ) + or warn "Error preparing $statement: ". $dbh->errstr; + my $rc = $sth->execute + or warn "Error executing $statement: ". $sth->errstr; + + $statement = + "ALTER TABLE h_svc_acct ADD COLUMN rc_$attribute varchar($char_d) NULL"; + $sth = $dbh->prepare( $statement ) + or warn "Error preparing $statement: ". $dbh->errstr; + $rc = $sth->execute + or warn "Error executing $statement: ". $sth->errstr; + } +$dbh->commit or die $dbh->errstr; + $dbh->disconnect or die $dbh->errstr; print "\n\n", "Now you must run dbdef-create.\n\n"; sub usage { - die "Usage:\n fs-radius-add user\n"; + die "Usage:\n fs-radius-add-check user\n"; } -