--- loncom/auth/lonroles.pm 2005/12/15 23:31:22 1.138 +++ loncom/auth/lonroles.pm 2005/12/19 21:39:33 1.139 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # User Roles Screen # -# $Id: lonroles.pm,v 1.138 2005/12/15 23:31:22 raeburn Exp $ +# $Id: lonroles.pm,v 1.139 2005/12/19 21:39:33 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -51,7 +51,7 @@ sub redirect_user { my $navwindow; if ($launch_nav eq 'on') { $navwindow.=&Apache::lonnavmaps::launch_win('now',undef,undef, - ($url eq '/adm/whatsnew')); + ($url =~ m-/^adm/whatsnew-)); } else { $navwindow.=&Apache::lonnavmaps::close(); } @@ -271,13 +271,17 @@ ENDENTERKEY '.course.helper.not.run'}) { $furl = "/adm/helper/course.initialization.helper"; # Send the user to the course they selected - } elsif (($env{'request.course.fn'}) - && ($role eq 'cc' && ($env{'environment.course_init_display'} ne 'firstres'))) { - $msg = &mt('Entering course ....'); - &redirect_user($r,&mt('New in course'), - '/adm/whatsnew',$msg, - $env{'environment.remotenavmap'}); - return OK; + } elsif ($env{'request.course.fn'}) { + if ($env{'user.adv'}) { + my $startpage = &courseloadpage($courseid); + unless ($startpage eq 'firstres') { + $msg = &mt('Entering course ....'); + &redirect_user($r,&mt('New in course'), + '/adm/whatsnew?refpage=start',$msg, + $env{'environment.remotenavmap'}); + return OK; + } + } } &redirect_user($r,&mt('Entering Course'), $furl,$msg, @@ -1025,6 +1029,24 @@ sub set_privileges { &Apache::lonnet::appenv('request.role.adv' => $tadv); } +sub courseloadpage { + my ($courseid) = @_; + my $startpage; + my %entry_settings = + &Apache::lonnet::dump('nohist_whatsnew',$env{'user.domain'}, + $env{'user.name'},$courseid.':courseinit'); + my ($tmp) = %entry_settings; + unless ($tmp =~ /^Error/) { + $startpage = $entry_settings{$courseid.':courseinit'}; + } + if ($startpage eq '') { + if (exists($env{'environment.course_init_display'})) { + $startpage = $env{'environment.course_init_display'}; + } + } + return $startpage; +} + 1; __END__