--- loncom/auth/lonroles.pm 2023/06/20 14:04:02 1.370 +++ loncom/auth/lonroles.pm 2023/11/17 17:02:21 1.372 @@ -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.372 2023/11/17 17:02:21 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1801,9 +1801,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 '') { @@ -2704,6 +2704,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); + } } } }