die "Usage: $0 password\n" unless ($#ARGV == 0);
$whpassword = $ARGV[0];
-$db = "ttsp";
+$db = "";
$mrtest = "mrtest";
+$logfile = "/moira/grouper.log";
$ENV{'PATH'} = "/moira/bin";
use DBI;
($root_id) = $moira->selectrow_array("SELECT users_id FROM users ".
"WHERE login = 'root'");
-open(MRTEST, "|$mrtest");
+open(MRTEST, "|$mrtest >/dev/null 2>&1");
print MRTEST "connect $db\n";
print MRTEST "auth\n";
+open(LOG, ">>$logfile");
# Create any lists that don't already exist in Moira
foreach $class (@$classes) {
$base = "\L$term-$class";
$staff = "$base-staff";
- # check_list(name, owner, export, parent, desc)
-
- &check_list($base, "registrar", 1, "",
- "Automatically-created class participants list for $class");
- &check_list("$base-reg", "registrar", 0, $base,
- "Automatically-generated registered students list for $class");
- &check_list($staff, $staff, 0, $base,
- "Automatically-created teaching staff list for $class");
- &check_list("$base-others", $staff, 0, $base,
- "Automatically-created non-registered students and miscellaneous people list for $class");
+ # check_list(name, owner, export, desc)
+ &check_list($staff, $staff, 0,
+ "Teaching staff list for $class");
+ &check_list("$base-reg", $staff, 0,
+ "*** DO NOT MODIFY *** Automatically-created registered students list for $class");
+ &check_list("$base-others", $staff, 0,
+ "Non-registered students and miscellaneous people list for $class");
+ &check_list($base, $staff, 1,
+ "*** DO NOT MODIFY *** Automatically-created participants list for $class");
+ if (!$lists{$base}) {
+ &add_member($staff, LIST, $base);
+ &add_member("$base-reg", LIST, $base);
+ &add_member("$base-others", LIST, $base);
+ }
}
# Now fill in -reg lists
$login = $users{$mitid};
next if !$login;
if (!$mstudents{$login}) {
- print "Adding $login to $clist\n";
+ print LOG "Adding $login to $clist\n";
&add_member($login, USER, $clist);
$changed = 1;
} else {
# Everyone in wstudents will have been removed from mstudents
# now, so delete the remaining users since they don't belong
foreach $login (keys(%mstudents)) {
- print "Deleting $login from $clist\n";
+ print LOG "Deleting $login from $clist\n";
&del_member($login, USER, $clist);
$changed = 1;
}
print MRTEST "quit\n";
close(MRTEST);
+close(LOG);
$moira->disconnect;
$warehouse->disconnect;
exit 0;
sub check_list {
- my ( $name, $owner, $export, $parent, $desc ) = @_;
+ my ( $name, $owner, $export, $desc ) = @_;
if (!$lists{$name}) {
- print "Creating $name\n";
- print MRTEST "qy alis $name 1 0 1 $export $export \"create unique GID\" LIST $owner \"$desc\"\n";
- if ($parent) {
- &add_member($name, LIST, $parent);
- }
+ print LOG "Creating $name\n";
+ print MRTEST "qy alis $name 0 0 1 $export $export \"create unique GID\" 0 LIST $owner NONE NONE \"$desc\"\n";
}
}