--- loncom/auth/lonroles.pm 2023/06/20 14:04:02 1.370
+++ loncom/auth/lonroles.pm 2024/12/20 00:24:39 1.375
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# User Roles Screen
#
-# $Id: lonroles.pm,v 1.370 2023/06/20 14:04:02 raeburn Exp $
+# $Id: lonroles.pm,v 1.375 2024/12/20 00:24:39 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.').'
';
@@ -1801,9 +1803,9 @@ sub gather_roles {
foreach my $rolename (sort(keys(%{$domdef{'adhocroles'}}))) {
if (ref($domdef{'adhocroles'}{$rolename}) eq 'HASH') {
$adhocdesc{$tdom}{$rolename} = $domdef{'adhocroles'}{$rolename}{'desc'};
- $desc = $adhocdesc{$tdom}{$rolename};
}
}
+ $desc = $adhocdesc{$tdom}{$rolename};
}
}
if ($desc ne '') {
@@ -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);
+ }
}
}
}
@@ -3616,7 +3634,9 @@ sub ltienroll {
&LONCAPA::ltiutils::batchaddroster($item);
}
}
+ $rosterupdates = [];
}
+ return OK;
}
sub set_deeplink_target {