--- loncom/auth/lonroles.pm 2022/06/26 04:03:47 1.365 +++ loncom/auth/lonroles.pm 2022/10/19 00:03:11 1.368 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # User Roles Screen # -# $Id: lonroles.pm,v 1.365 2022/06/26 04:03:47 raeburn Exp $ +# $Id: lonroles.pm,v 1.368 2022/10/19 00:03:11 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -499,6 +499,7 @@ sub handler { "request.course.sec" => '', "request.course.tied" => '', "request.course.timechecked" => '', + "request.course.suppupdated" => '', "request.role" => 'cm', "request.role.adv" => $env{'user.adv'}, "request.role.domain" => $env{'user.domain'}}); @@ -853,7 +854,6 @@ ENDCLOSE my ($feeds,$syllabus_time); &Apache::lonrss::advertisefeeds($cnum,$cdom,undef,\$feeds); &Apache::lonnet::appenv({'request.course.feeds' => $feeds}); - &Apache::lonnet::get_numsuppfiles($cnum,$cdom,1); unless ($env{'course.'.$cdom.'_'.$cnum.'.updatedsyllabus'}) { unless (($env{'course.'.$cdom.'_'.$cnum.'.externalsyllabus'}) || ($env{'course.'.$cdom.'_'.$cnum.'.uploadedsyllabus'})) { @@ -886,6 +886,8 @@ ENDCLOSE if ($env{'form.symb'}) { $furl .= '&symb='.&HTML::Entities::encode($env{'form.symb'},'<>&"'); } + } else { + &set_supplemental_access($cnum,$cdom); } if (($ferr) && ($tadv)) { &error_page($r,$ferr,$furl); @@ -951,6 +953,7 @@ ENDCLOSE &Apache::loncommon::end_page()); } } else { + &set_supplemental_access($cnum,$cdom); if (($env{'request.lti.login'}) && ($env{'request.lti.rosterid'} || $env{'request.lti.passbackid'})) { &process_lti($r,$cdom,$cnum); @@ -1040,7 +1043,7 @@ ENDCLOSE if ($env{'form.ttoken'}) { $dest .= (($dest =~/\?/)? '&':'?').'ttoken='.$env{'form.ttoken'}; } - unless ($env{'request.lti.login'}) { + unless (($env{'request.lti.login'}) || ($env{'request.deeplink.login'})) { $msg = '

'.&mt('Entering [_1] ...', $env{'course.'.$cdom.'_'.$cnum.'.description'}). '

'; @@ -1130,6 +1133,12 @@ ENDCLOSE $redirect_url .= $where; } $redirect_url .= '/'; + if ($env{'form.orgurl'} =~ /^\Q$redirect_url\E/) { + my ($path) = ($env{'form.orgurl'} =~ m{^(.+)/[^/]+$}); + if (($path ne '') && (-e $Apache::lonnet::perlvar{'lonDocRoot'}.$path)) { + $redirect_url = $env{'form.orgurl'}; + } + } &redirect_user($r,&mt('Entering Authoring Space'), $redirect_url); return OK; @@ -3604,6 +3613,14 @@ sub set_deeplink_target { return; } +sub set_supplemental_access { + my ($cnum,$cdom) = @_; + my ($supplemental,$refs_updated) = &Apache::lonnet::get_supplemental($cnum,$cdom); + unless ($refs_updated) { + &Apache::loncommon::set_supp_httprefs($cnum,$cdom,$supplemental); + } +} + 1; __END__