--- loncom/auth/lonroles.pm 2010/07/30 20:35:16 1.255 +++ loncom/auth/lonroles.pm 2010/08/24 13:18:26 1.258 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # User Roles Screen # -# $Id: lonroles.pm,v 1.255 2010/07/30 20:35:16 raeburn Exp $ +# $Id: lonroles.pm,v 1.258 2010/08/24 13:18:26 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -329,33 +329,34 @@ sub handler { my @ids = &Apache::lonnet::current_machine_ids(); unless ($loncaparev eq '' && $home && grep(/^\Q$home\E$/,@ids)) { my %curr_reqd_hash = &Apache::lonnet::userenvironment($cdom,$cnum,'internal.releaserequired'); - if ($curr_reqd_hash{'internal.releaserequired'} && - $curr_reqd_hash{'internal.releaserequired'} > $loncaparev) { + if ($curr_reqd_hash{'internal.releaserequired'} ne '') { my ($switchserver,$switchwarning) = &check_release_required($loncaparev,$cdom.'_'.$cnum,$trolecode,$curr_reqd_hash{'internal.releaserequired'}); - &Apache::loncommon::content_type($r,'text/html'); - &Apache::loncommon::no_cache($r); - $r->send_http_header; - my $end_page=&Apache::loncommon::end_page(); - $r->print(&Apache::loncommon::start_page('Selected course unavailable on this server'). - '

'); - if ($switchwarning) { - $r->print($switchwarning.'
'); - if (&Apache::loncommon::show_course()) { - $r->print(&mt('Display courses')); - } else { - $r->print(&mt('Display roles')); + if ($switchwarning ne '' || $switchserver ne '') { + &Apache::loncommon::content_type($r,'text/html'); + &Apache::loncommon::no_cache($r); + $r->send_http_header; + my $end_page=&Apache::loncommon::end_page(); + $r->print(&Apache::loncommon::start_page('Selected course unavailable on this server'). + '

'); + if ($switchwarning) { + $r->print($switchwarning.'
'); + if (&Apache::loncommon::show_course()) { + $r->print(&mt('Display courses')); + } else { + $r->print(&mt('Display roles')); + } + $r->print(''); + } elsif ($switchserver) { + $r->print(&mt('This course requires a newer version of LON-CAPA than is installed on this server.'). + '
'. + ''. + &mt('Switch Server'). + ''); } - $r->print(''); - } elsif ($switchserver) { - $r->print(&mt('This course requires a newer version of LON-CAPA than is installed on this server.'). - '
'. - ''. - &mt('Switch Server'). - ''); + $r->print('

'.&Apache::loncommon::end_page()); + return OK; } - $r->print('

'.&Apache::loncommon::end_page()); - return OK; } } } @@ -1563,7 +1564,7 @@ sub check_release_required { my ($switchserver,$warning); if ($required ne '') { my ($reqdmajor,$reqdminor) = ($required =~ /^(\d+)\.(\d+)$/); - my ($major,$minor) = ($loncaparev =~ /^\'?(\d+)\.(\d+)\.[\d.\-]+\'?$/); + my ($major,$minor) = ($loncaparev =~ /^\'?(\d+)\.(\d+)\.[\w.\-]+\'?$/); if ($reqdmajor ne '' && $reqdminor ne '') { my $otherserver; if (($major eq '' && $minor eq '') || @@ -1572,7 +1573,7 @@ sub check_release_required { my $switchlcrev = &Apache::lonnet::get_server_loncaparev($env{'user.domain'}, $userdomserver); - my ($swmajor,$swminor) = ($switchlcrev =~ /^\'?(\d+)\.(\d+)\.[\d.\-]+\'?$/); + my ($swmajor,$swminor) = ($switchlcrev =~ /^\'?(\d+)\.(\d+)\.[\w.\-]+\'?$/); if (($swmajor eq '' && $swminor eq '') || ($reqdmajor > $swmajor) || (($reqdmajor == $swmajor) && ($reqdminor > $swminor))) { my $cdom = $env{'course.'.$tcourseid.'.domain'}; @@ -1736,7 +1737,7 @@ sub display_cc_role { $env{'course.'.$tcourseid.'.description'}=$twhere; } my $trole = &Apache::lonnet::plaintext($ccrole,$ttype,$tcourseid); - $twhere.="
".&mt('Domain').":".$1; + $twhere.="
".&mt('Domain').":".$tdom; ($roletext,$roletext_end) = &build_roletext($trolecode,$tdom,$trest,'is',$tryagain,$advanced,'',$tbg,$trole,$twhere,'','','',1,''); } }