Diff for /loncom/auth/lonroles.pm between versions 1.187 and 1.189

version 1.187, 2008/03/17 14:38:30 version 1.189, 2008/05/14 19:18:37
Line 106  sub handler { Line 106  sub handler {
   
 # ================================================================== Roles Init  # ================================================================== Roles Init
     if ($env{'form.selectrole'}) {      if ($env{'form.selectrole'}) {
   
           my $locknum=&Apache::lonnet::get_locks();
           if ($locknum) { return 409; }
   
         if ($env{'form.newrole'}) {          if ($env{'form.newrole'}) {
             $env{'form.'.$env{'form.newrole'}}=1;              $env{'form.'.$env{'form.newrole'}}=1;
  }   }
Line 133  sub handler { Line 137  sub handler {
 # Is this an ad-hoc CC-role?  # Is this an ad-hoc CC-role?
                 if (my ($domain,$coursenum) =                  if (my ($domain,$coursenum) =
     ($envkey =~ m-^form\.cc\./($match_domain)/($match_courseid)$-)) {      ($envkey =~ m-^form\.cc\./($match_domain)/($match_courseid)$-)) {
                      # See if that is even allowed
                       
                     if ($dcroles{$domain}) {                      if ($dcroles{$domain}) {
                         &check_privs($domain,$coursenum,$then,$now,'cc');                          &check_privs($domain,$coursenum,$then,$now,'cc');
                     }                      }
Line 151  sub handler { Line 157  sub handler {
 # Is this a new ad-hoc CA-role?  # Is this a new ad-hoc CA-role?
                 if (my ($domain) =                  if (my ($domain) =
                     ($envkey =~ m-^form\.adhocca\./($match_domain)$-)) {                      ($envkey =~ m-^form\.adhocca\./($match_domain)$-)) {
                       my $user=$env{'form.adhoccauname.'.$domain};
                       if (!$user) { $user=$env{'form.adhoccaunamerecent.'.$domain} };
                      # See if that is even allowed
                       my %blocked=&Apache::lonnet::get('environment',['domcoord.author'],$domain,$user);
                       if ($blocked{'domcoord.author'} eq 'blocked') {
                          $env{'user.error.msg'}=':::1:User '.$user.' in domain '.$domain.' blocked domain coordinator access';
                          last;
                       }
                     if ($dcroles{$domain}) {                      if ($dcroles{$domain}) {
                         my $user=$env{'form.adhoccauname.'.$domain};  
                         if (!$user) { $user=$env{'form.adhoccaunamerecent.'.$domain} };  
                         if (($user) && ($user=~/$match_username/) && (&is_author_homeserver($user,$domain))) {                           if (($user) && ($user=~/$match_username/) && (&is_author_homeserver($user,$domain))) { 
                            &check_privs($domain,$user,$then,$now,'ca');                             &check_privs($domain,$user,$then,$now,'ca');
                            $env{'form.ca./'.$domain.'/'.$user}=1;                             $env{'form.ca./'.$domain.'/'.$user}=1;

Removed from v.1.187  
changed lines
  Added in v.1.189


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>