[LON-CAPA-cvs] cvs: loncom /build add_domain_coordinator_privilege.pl

raeburn lon-capa-cvs-allow@mail.lon-capa.org
Mon, 31 Dec 2007 16:49:24 -0000


raeburn		Mon Dec 31 11:49:24 2007 EDT

  Modified files:              
    /loncom/build	add_domain_coordinator_privilege.pl 
  Log:
  - add information about role to nohist_domainroles.db
  - include start time in role
  - correct spelling of "privilege" 
  
  
Index: loncom/build/add_domain_coordinator_privilege.pl
diff -u loncom/build/add_domain_coordinator_privilege.pl:1.2 loncom/build/add_domain_coordinator_privilege.pl:1.3
--- loncom/build/add_domain_coordinator_privilege.pl:1.2	Tue Jun 26 15:48:52 2007
+++ loncom/build/add_domain_coordinator_privilege.pl	Mon Dec 31 11:49:23 2007
@@ -14,7 +14,7 @@
 # add_domain_coordinator_privilege.pl - Add domain coordinator to an
 #    exisiting user on a LON-CAPA system.
 #
-# $Id: add_domain_coordinator_privilege.pl,v 1.2 2007/06/26 19:48:52 albertel Exp $
+# $Id: add_domain_coordinator_privilege.pl,v 1.3 2007/12/31 16:49:23 raeburn Exp $
 #
 # This file is part of the LearningOnline Network with CAPA (LON-CAPA).
 #
@@ -87,7 +87,7 @@
 
 There are no flags to this script.
 
-usage: add_domain_coordinator_privledge.pl [USERNAME:DOMAIN] [NEWDOMAIN]
+usage: add_domain_coordinator_privilege.pl [USERNAME:DOMAIN] [NEWDOMAIN]
 
 The first argument specifies the user name domain of an existing user.
 
@@ -154,7 +154,7 @@
 }
 if (exists($rolesref->{'/'.$add_domain.'/_dc'})) {
     my ($role,$end,$start) = split('_',$rolesref->{'/'.$add_domain.'/_dc'});
-    print(&mt("[_1] already has a dc priviledge for [_2].",
+    print(&mt("[_1] already has a dc privilege for [_2].",
 	      $user,$add_domain)."\n");
     if ($start) {
 	print(&mt("Start date: [_1]",&Apache::lonlocal::locallocaltime($start)).
@@ -181,7 +181,8 @@
     print(&mt("It is currently not active. Proceeding to re-enable")."\n");
 }
 
-$rolesref->{'/'.$add_domain.'/_dc'}='dc'; # Set the domain coordinator role.
+my $now = time;
+$rolesref->{'/'.$add_domain.'/_dc'}='dc_0_'.$now; # Set the domain coordinator role.
 open(OUT, ">$udpath/roles.hist"); # roles.hist is the synchronous plain text.
 foreach my $key (keys(%{$rolesref})) {
     print(OUT $key.' : '.$rolesref->{$key}."\n");
@@ -193,6 +194,19 @@
 `chown www:www $udpath/roles.hist`; # Must be writeable by httpd process.
 `chown www:www $udpath/roles.db`; # Must be writeable by httpd process.
 
+my %perlvar = %{&LONCAPA::Configuration::read_conf('loncapa.conf')};
+my $dompath = $perlvar{'lonUsersDir'}.'/'.$domain;
+my $domrolesref = &LONCAPA::locking_hash_tie("$dompath/nohist_domainroles.db",&GDBM_WRCREAT());
+
+if (!$domrolesref) {
+    die('unable to tie nohist_domainroles db: '."$dompath/nohist_domainroles.db");
+}
+
+# Store in nohist_domainroles.db
+my $domkey=&LONCAPA::escape('dc:'.$username.':'.$domain.'::'.$domain.':');
+$domrolesref->{$domkey}= &LONCAPA::escape('0:'.$now);
+&LONCAPA::locking_hash_untie($domrolesref);
+
 =pod
 
 =item 2.