[LON-CAPA-cvs] cvs: loncom /interface lontiny.pm
raeburn
raeburn at source.lon-capa.org
Fri Jun 12 01:00:24 EDT 2026
raeburn Fri Jun 12 05:00:24 2026 EDT
Modified files:
/loncom/interface lontiny.pm
Log:
- Make sure decision on including a section in selected role is based on
active role and not a past or future one.
Index: loncom/interface/lontiny.pm
diff -u loncom/interface/lontiny.pm:1.24 loncom/interface/lontiny.pm:1.25
--- loncom/interface/lontiny.pm:1.24 Fri Feb 7 20:23:42 2025
+++ loncom/interface/lontiny.pm Fri Jun 12 05:00:24 2026
@@ -2,7 +2,7 @@
# Extract domain, courseID, and symb from a shortened URL,
# and switch role to a role in designated course.
#
-# $Id: lontiny.pm,v 1.24 2025/02/07 20:23:42 raeburn Exp $
+# $Id: lontiny.pm,v 1.25 2026/06/12 05:00:24 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -212,13 +212,12 @@
&Apache::lonnet::get_my_roles($env{'user.uname'},$env{'user.domain'},
'userroles',['previous','active','future'],
\@possroles,[$cdom],1);
- my (%possroles,$hassection,%active,%expired,%future);
+ my ($hassection,%active,%expired,%future);
if (keys(%roleshash)) {
my $now = time;
foreach my $entry (keys(%roleshash)) {
if ($entry =~ /^\Q$cnum:$cdom:\E([^:]+):([^:]*)$/) {
my ($role,$sec) = ($1,$2);
- $possroles{$role} = $sec;
if ($sec ne '') {
$hassection = 1;
}
@@ -252,8 +251,8 @@
if ($env{'form.selectrole'}) {
foreach my $role (@allposs) {
my $newrole = "$role./$cdom/$cnum";
- if ($possroles{$allposs[0]} ne '') {
- $newrole .= "/$possroles{$role}";
+ if ($active{$role} ne '') {
+ $newrole .= "/$active{$role}";
}
if ($env{"form.$newrole"}) {
my $destination .= '/adm/roles?selectrole=1&'.$newrole.'=1'.
@@ -272,9 +271,8 @@
$linkprotexit,$linkprotpbid,$linkprotpburl,$ltoken);
} elsif (@allposs == 1) {
my $newrole = "$allposs[0]./$cdom/$cnum";
- $newrole = "$allposs[0]./$cdom/$cnum";
- if ($possroles{$allposs[0]} ne '') {
- $newrole .= "/$possroles{$allposs[0]}";
+ if ($active{$allposs[0]} ne '') {
+ $newrole .= "/$active{$allposs[0]}";
}
my $destination .= '/adm/roles?selectrole=1&'.$newrole.'=1'.
'&destinationurl='.&HTML::Entities::encode($r->uri,'&<>"');
@@ -285,7 +283,7 @@
} elsif (@allposs > 1) {
if (grep(/^(cc|co)$/, at allposs)) {
my $newrole;
- if (exists($possroles{'cc'})) {
+ if (exists($active{'cc'})) {
$newrole = 'cc';
} else {
$newrole = 'co';
More information about the LON-CAPA-cvs
mailing list