--- loncom/auth/lonroles.pm 2023/10/17 14:43:03 1.371 +++ loncom/auth/lonroles.pm 2024/09/17 13:06:49 1.374 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # User Roles Screen # -# $Id: lonroles.pm,v 1.371 2023/10/17 14:43:03 raeburn Exp $ +# $Id: lonroles.pm,v 1.374 2024/09/17 13:06:49 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -703,7 +703,7 @@ sub handler { $env{'user.name'}, &mt('Assigned from [_1] at [_2] for [_3]' ,$ip - ,&Apache::lonlocal::locallocaltime() + ,&Apache::lonlocal::locallocaltime($now) ,$trolecode) ); unless ($assignresult eq 'ok') { @@ -1237,16 +1237,18 @@ ENDCLOSE $start_page=&Apache::loncommon::start_page($pagetitle,undef, {bread_crumbs=>$brcrum,crstype=>'Placement'}); } else { - my $crumbsright; + my ($crumbsright,$crumbs_style); unless (($norolelist) && ((split(/:/,$env{'user.error.msg'}))[2])) { $funcs = &get_roles_functions($showcount,$cattype,$domdefs{'userapprovals'}); if ($env{'browser.mobile'}) { $crumbsright = $funcs; undef($funcs); + $crumbs_style = 'overflow: visible;'; } } $start_page=&Apache::loncommon::start_page($pagetitle,undef,{bread_crumbs=>$brcrum, - bread_crumbs_component=>$crumbsright}); + bread_crumbs_component=>$crumbsright, + bread_crumbs_style=>$crumbs_style,}); } &js_escape(\$standby); my $noscript='
'.&mt('Use of LON-CAPA requires Javascript to be enabled in your web browser.').'
'.&mt('As this is not the case, most functionality in the system will be unavailable.').'

'; @@ -2245,7 +2247,7 @@ sub build_roletext { $trolecode."','".$buttonname.'\');" />'; } } - if (($trolecode !~ m/^(dc|ca|au|aa)\./) && (!$skipcal)) { + if (($trolecode !~ m/^(ca|aa)\./) && ($trest ne '') && (!$skipcal)) { $tremark.=&Apache::lonannounce::showday(time,1, &Apache::lonannounce::readcalendar($tdom.'_'.$trest)); } @@ -2704,6 +2706,22 @@ sub update_session_roles { } } else { $newrole{$rolekey} = $status_in_db; + if ($role eq 'au') { + my %userenv = + &Apache::lonnet::userenvironment($env{'user.domain'}, + $env{'user.name'},'authoreditors'); + if ($userenv{'authoreditors'}) { + $userenv{'editors'} = $userenv{'authoreditors'}; + } else { + my %domdef = &Apache::lonnet::get_domain_defaults($env{'user.domain'}); + if ($domdef{'editors'} ne '') { + $userenv{'editors'} = $domdef{'editors'}; + } else { + $userenv{'editors'} = 'edit,xml'; + } + } + &Apache::lonnet::appenv(\%userenv); + } } } }