--- 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')
.'
');