--- loncom/auth/lonroles.pm 2004/11/09 20:04:48 1.105 +++ loncom/auth/lonroles.pm 2004/11/11 22:18:23 1.106 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # User Roles Screen # -# $Id: lonroles.pm,v 1.105 2004/11/09 20:04:48 raeburn Exp $ +# $Id: lonroles.pm,v 1.106 2004/11/11 22:18:23 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -120,6 +120,33 @@ sub handler { "request.role" => 'cm', "request.role.adv" => $ENV{'user.adv'}, "request.role.domain" => $ENV{'user.domain'}); + +# Check to see if the user is a DC trying to enter a course +# course selection page + my $dcflag = 0; + if ($ENV{'form.dccourse'}) { + my $dcdom = $ENV{'form.dcdomain'}; + my $pickedcourse = $ENV{'form.dccourse'}; + if ($dcdom && $pickedcourse) { + unless ($ENV{'user.role.cc./'.$dcdom.'/'.$pickedcourse}) { + if ($ENV{'user.role.dc./'.$dcdom.'/'}) { + &set_privileges($dcdom,$pickedcourse); + my $msg=&mt('Entering course ...'); + my ($furl,$ferr)=&Apache::lonuserstate::readmap($dcdom.'/'.$pickedcourse); + my $formaction = '/adm/roles/'; + my $courseid = $dcdom.'_'.$pickedcourse; + &Apache::lonhtmlcommon::store_recent('cc_pickby_dc_'.$dcdom, + $courseid,$formaction); + # Send the user to the course they selected + &redirect_user($r,&mt('Entering Course'), + $furl,$msg, + $ENV{'environment.remotenavmap'}); + return OK; + } + } + } + } + foreach $envkey (keys %ENV) { next if ($envkey!~/^user\.role\./); my ($where,$trolecode,$role,$tstatus,$tend,$tstart); @@ -675,7 +702,7 @@ ENDHEADER foreach my $which (sort {uc($a) cmp uc($b)} (keys(%sortrole))) { my $skiprole = 0; foreach my $dcdom (keys %dcroles) { - if ($sortrole{$which} =~ m-(dc|cc)\./$dcdom/-) { + if ($sortrole{$which} =~ m-(dc)\./$dcdom/-) { $skiprole = 1; last; } @@ -706,7 +733,7 @@ ENDHEADER $r->print("