--- loncom/auth/lonroles.pm 2009/06/29 12:43:45 1.228 +++ loncom/auth/lonroles.pm 2009/09/23 16:45:17 1.231.6.2 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # User Roles Screen # -# $Id: lonroles.pm,v 1.228 2009/06/29 12:43:45 bisitz Exp $ +# $Id: lonroles.pm,v 1.231.6.2 2009/09/23 16:45:17 gci Exp $ # # Copyright Michigan State University Board of Trustees # @@ -158,12 +158,8 @@ sub redirect_user { $navwindow.=&Apache::lonnavmaps::close(); } - # Breadcrumbs - my $brcrum = [{'href' => $url, - 'text' => 'Switching Role'},]; my $start_page = &Apache::loncommon::start_page('Switching Role',undef, - {'redirect' => [1,$url], - 'bread_crumbs' => $brcrum,}); + {'redirect' => [1,$url]}); my $end_page = &Apache::loncommon::end_page(); # Note to style police: @@ -189,25 +185,17 @@ sub error_page { &Apache::loncommon::no_cache($r); $r->send_http_header; return OK if $r->header_only; - # Breadcrumbs - my $brcrum = [{'href' => $dest, - 'text' => 'Problems during Course Initialization'},]; - $r->print(&Apache::loncommon::start_page('Problems during Course Initialization', - undef, - {'bread_crumbs' => $brcrum,}) - ); - $r->print( + $r->print(&Apache::loncommon::start_page('Problems during Course Initialization'). ''. '

'.&mt('The following problems occurred:'). - '
'. + '
'. $error. - '


'.&mt('Continue').'' - ); - $r->print(&Apache::loncommon::end_page()); + '


'.&mt('Continue').''. + &Apache::loncommon::end_page()); } sub handler { @@ -260,7 +248,7 @@ sub handler { ($envkey =~ m-^form\.cc\./($match_domain)/($match_courseid)$-)) { if ($dcroles{$domain}) { &Apache::lonnet::check_adhoc_privs($domain,$coursenum, - $then,$now,'cc'); + $then,$refresh,$now,'cc'); } last; } @@ -301,7 +289,7 @@ sub handler { 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,$then, - $now,'ca'); + $refresh,$now,'ca'); if ($server_status eq 'switchserver') { my $trolecode = 'ca./'.$domain.'/'.$user; my $switchserver = '/adm/switchserver?' @@ -752,11 +740,40 @@ ENDHEADER } $r->print(&Apache::loncommon::end_page()); return OK; + } elsif ($countactive==1) { # Is there only one choice? + my $needs_switchserver; + if ($env{'user.author'}) { + $needs_switchserver = &check_needs_switchserver($possiblerole); + } + if ((!$needs_switchserver) && ($env{'request.role'} eq 'cm')) { + $r->print('

'.&mt('Please stand by.').'

'. + ''. + ''); + $r->print("\n"); + $r->rflush(); + $r->print(''); + $r->print(&Apache::loncommon::end_page()); + return OK; + } + if ($needs_switchserver) { + $r->print("

".&mt('Server Switch Required')."

\n". + &mt('Construction Space access is only available from '. + 'the home server of the corresponding Author.').'
'. + &mt("Click the 'Switch Server' link to go there.").'
'); + } } # ----------------------------------------------------------------------- Table unless ((!&Apache::loncommon::show_course()) || ($nochoose) || ($countactive==1)) { $r->print("

".&mt('Select a Course to Enter')."

\n"); } + if ($env{'form.destinationurl'}) { + $r->print(''); + if ($env{'form.destsymb'} ne '') { + $r->print(''); + } + } my $doheaders = &roletable_headers($r,\%roleclass,\%sortrole,$nochoose); if ($env{'environment.recentroles'}) { my %recent_roles = @@ -835,10 +852,10 @@ ENDHEADER $r->print(&Apache::lonnet::getannounce()); if ($advanced) { my $esc_dom = &HTML::Entities::encode($env{'user.domain'},'"<>&'); - $r->print('

' - .&mt('This is LON-CAPA [_1]',$r->dir_config('lonVersion')) - .'
' - .''.&mt('Logout').'  ' + $r->print('

' + .&mt('This LON-CAPA server is version [_1]',$r->dir_config('lonVersion')) + .'
' + .''.&mt('Logout').'  ' .'' .&mt('Course Catalog') .'

');