--- loncom/auth/lonroles.pm 2012/02/08 16:27:35 1.256.2.6.2.2 +++ loncom/auth/lonroles.pm 2010/09/02 17:06:38 1.259 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # User Roles Screen # -# $Id: lonroles.pm,v 1.256.2.6.2.2 2012/02/08 16:27:35 raeburn Exp $ +# $Id: lonroles.pm,v 1.259 2010/09/02 17:06:38 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -141,22 +141,14 @@ use Apache::loncoursequeueadmin; use GDBM_File; use LONCAPA qw(:DEFAULT :match); use HTML::Entities; - + sub redirect_user { - my ($r,$title,$url,$msg,$launch_nav) = @_; + my ($r,$title,$url,$msg) = @_; $msg = $title if (! defined($msg)); &Apache::loncommon::content_type($r,'text/html'); &Apache::loncommon::no_cache($r); $r->send_http_header; - my $swinfo=&Apache::lonmenu::rawconfig(); - my $navwindow; - if ($launch_nav eq 'on') { - $navwindow.=&Apache::lonnavdisplay::launch_win('now',undef,undef, - ($url =~ m-^/adm/whatsnew-)); - } else { - $navwindow.=&Apache::lonnavmaps::close(); - } # Breadcrumbs my $brcrum = [{'href' => $url, @@ -171,12 +163,6 @@ sub redirect_user { $url=~s/ /\%20/g; $r->print(< -// - -$navwindow

$msg

$end_page ENDREDIR @@ -217,33 +203,12 @@ sub handler { my $now=time; my $then=$env{'user.login.time'}; my $refresh=$env{'user.refresh.time'}; - my $update=$env{'user.update.time'}; if (!$refresh) { $refresh = $then; } - if (!$update) { - $update = $then; - } - -# -------------------------------------------------------- Check for new roles - my $updateresult; - if ($env{'form.doupdate'}) { - my $show_course=&Apache::loncommon::show_course(); - my $checkingtxt; - if ($show_course) { - $checkingtxt = &mt('Checking for new courses ...'); - } else { - $checkingtxt = &mt('Checking for new roles ...'); - } - $updateresult = ''.$checkingtxt.''; - $updateresult .= &update_session_roles(); - &Apache::lonnet::appenv({'user.update.time' => $now}); - $update = $now; - } - my $envkey; my %dcroles = (); - my $numdc = &check_fordc(\%dcroles,$update,$then); + my $numdc = &check_fordc(\%dcroles,$then); &Apache::loncommon::get_unprocessed_cgi($ENV{'QUERY_STRING'}); my $loncaparev = $Apache::lonnet::perlvar{'lonVersion'}; @@ -263,13 +228,13 @@ sub handler { if (defined($env{'user.role.'.$env{'form.switchrole'}})) { my ($start,$end) = split(/\./,$env{'user.role.'.$env{'form.switchrole'}}); if (!$end || $end > $now) { - if (!$start || $start < $update) { + if (!$start || $start < $refresh) { $switch_is_active = 1; } } } unless ($switch_is_active) { - &adhoc_course_role($refresh,$update,$then); + &adhoc_course_role($refresh,$then); } } my %temp=('logout_'.$env{'request.course.id'} => time); @@ -291,7 +256,7 @@ sub handler { ($envkey =~ m-^form\.(cc|co)\./($match_domain)/($match_courseid)$-)) { if ($dcroles{$domain}) { &Apache::lonnet::check_adhoc_privs($domain,$coursenum, - $update,$refresh,$now,$ccrole); + $then,$refresh,$now,$ccrole); } last; } @@ -331,7 +296,7 @@ sub handler { if ($dcroles{$domain}) { my ($server_status,$home) = &check_author_homeserver($user,$domain); if (($server_status eq 'ok') || ($server_status eq 'switchserver')) { - &Apache::lonnet::check_adhoc_privs($domain,$user,$update, + &Apache::lonnet::check_adhoc_privs($domain,$user,$then, $refresh,$now,'ca'); if ($server_status eq 'switchserver') { my $trolecode = 'ca./'.$domain.'/'.$user; @@ -353,7 +318,7 @@ sub handler { foreach $envkey (keys %env) { next if ($envkey!~/^user\.role\./); my ($where,$trolecode,$role,$tstatus,$tend,$tstart); - &Apache::lonnet::role_status($envkey,$update,$refresh,$now,\$role,\$where, + &Apache::lonnet::role_status($envkey,$then,$refresh,$now,\$role,\$where, \$trolecode,\$tstatus,\$tstart,\$tend); if ($env{'form.'.$trolecode}) { if ($tstatus eq 'is') { @@ -514,11 +479,6 @@ ENDENTERKEY my $msg; my ($furl,$ferr)= &Apache::lonuserstate::readmap($cdom.'/'.$cnum); - unless (($ferr) || ($env{'form.switchrole'})) { - &Apache::lonnet::put('nohist_crslastlogin', - {$env{'user.name'}.':'.$env{'user.domain'}. - ':'.$csec.':'.$role => $now},$cdom,$cnum); - } if (($env{'form.orgurl'}) && ($env{'form.orgurl'}!~/^\/adm\/flip/)) { my $dest=$env{'form.orgurl'}; @@ -582,8 +542,7 @@ ENDENTERKEY } &redirect_user($r, &mt('Entering [_1]', $env{'course.'.$courseid.'.description'}), - $dest, $msg, - $env{'environment.remotenavmap'}); + $dest, $msg); return OK; } if (&Apache::lonnet::allowed('whn', @@ -596,26 +555,22 @@ ENDENTERKEY unless ($startpage eq 'firstres') { $msg = &mt('Entering [_1] ...', $env{'course.'.$courseid.'.description'}); - &redirect_user($r,&mt('New in course'), - '/adm/whatsnew?refpage=start',$msg, - $env{'environment.remotenavmap'}); + &redirect_user($r, &mt('New in course'), + '/adm/whatsnew?refpage=start', $msg); return OK; } } } # Are we allowed to look at the first resource? - if (($furl !~ m|^/adm/|) || - (($env{'environment.remotenavmap'} eq 'on') && - ($furl =~ m{^/adm/navmaps}))) { + if ($furl !~ m|^/adm/|) { # Guess not ... $furl=&Apache::lonpageflip::first_accessible_resource(); } $msg = &mt('Entering [_1] ...', $env{'course.'.$courseid.'.description'}); - &redirect_user($r,&mt('Entering [_1]', - $env{'course.'.$courseid.'.description'}), - $furl,$msg, - $env{'environment.remotenavmap'}); + &redirect_user($r, &mt('Entering [_1]', + $env{'course.'.$courseid.'.description'}), + $furl, $msg); } return OK; } @@ -700,13 +655,6 @@ function enterrole (thisform,rolecode,bu alert('$standby'); } } - -function setToUpdate(thisform) { - thisform.doupdate.value='1'; - thisform.selectrole.value=''; - thisform.submit(); -} - // ]]> ENDHEADER @@ -769,14 +717,13 @@ ENDHEADER } # -------------------------------------------------------- Choice or no choice? if ($nochoose) { - $r->print("

".&mt('Sorry ...')."

\n". - &mt('This action is currently not authorized.').''. - &Apache::loncommon::end_page()); - return OK; + $r->print("

".&mt('Sorry ...')."

\n". + &mt('This action is currently not authorized.').''. + &Apache::loncommon::end_page()); + return OK; } else { - $r->print($updateresult); if (($ENV{'REDIRECT_QUERY_STRING'}) && ($fn)) { - $fn.='?'.$ENV{'REDIRECT_QUERY_STRING'}; + $fn.='?'.$ENV{'REDIRECT_QUERY_STRING'}; } $r->print('
'); $r->print(''); @@ -786,45 +733,23 @@ ENDHEADER $r->rflush(); my (%roletext,%sortrole,%roleclass,%futureroles,%timezones); - my ($countactive,$countfuture,$inrole,$possiblerole) = - &gather_roles($update,$refresh,$now,$reinit,$nochoose,\%roletext,\%sortrole,\%roleclass, + my ($countactive,$countfuture,$inrole,$possiblerole) = + &gather_roles($then,$refresh,$now,$reinit,$nochoose,\%roletext,\%sortrole,\%roleclass, \%futureroles,\%timezones,$loncaparev); + $refresh = $now; &Apache::lonnet::appenv({'user.refresh.time' => $refresh}); - my $updatebutton = &mt('Check for role changes'); - my $show_course=&Apache::loncommon::show_course(); - if ($show_course) { - $updatebutton = &mt('Check for new courses'); - } - my $do_update; - unless (($env{'form.source'} eq 'login') || ($env{'form.doupdate'})) { - $do_update = ''. - ''; - } if ($env{'user.adv'}) { - my $showall = '