--- loncom/interface/lonnavdisplay.pm 2015/03/01 20:47:54 1.30 +++ loncom/interface/lonnavdisplay.pm 2015/03/01 22:20:56 1.31 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Navigate Maps Display Handler # -# $Id: lonnavdisplay.pm,v 1.30 2015/03/01 20:47:54 raeburn Exp $ +# $Id: lonnavdisplay.pm,v 1.31 2015/03/01 22:20:56 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -61,6 +61,27 @@ sub real_handler { return REDIRECT; } + # Check if course needs to be re-initialized + my $loncaparev = $r->dir_config('lonVersion'); + my ($result,@reinit) = &Apache::loncommon::needs_coursereinit($loncaparev); + + if ($result eq 'switch') { + &Apache::loncommon::content_type($r,'text/html'); + $r->send_http_header; + $r->print(&Apache::loncommon::check_release_result(@reinit)); + return OK; + } elsif ($result eq 'update') { + my $cnum = $env{'course.'.$env{'request.course.id'}.'.num'}; + my $cdom = $env{'course.'.$env{'request.course.id'}.'.domain'}; + my ($furl,$ferr) = &Apache::lonuserstate::readmap("$cdom/$cnum"); + if ($ferr) { + my $requrl = $r->uri; + $env{'user.error.msg'}="$requrl:bre:0:0:Course not initialized"; + $env{'user.reinit'} = 1; + return HTTP_NOT_ACCEPTABLE; + } + } + # Create the nav map my $navmap = Apache::lonnavmaps::navmap->new();