[LON-CAPA-cvs] cvs: loncom /interface lonmenu.pm /lonnet/perl lonnet.pm
raeburn
raeburn at source.lon-capa.org
Tue Jun 7 21:42:20 EDT 2022
raeburn Wed Jun 8 01:42:20 2022 EDT
Modified files:
/loncom/interface lonmenu.pm
/loncom/lonnet/perl lonnet.pm
Log:
- Domain's trust settings are checked when determining if course requests
are permitted in a domain belonging to another institution, in case they
changed since reqcrsotherdom.* was last updated in user's environment.db
Index: loncom/interface/lonmenu.pm
diff -u loncom/interface/lonmenu.pm:1.521 loncom/interface/lonmenu.pm:1.522
--- loncom/interface/lonmenu.pm:1.521 Sun May 29 03:19:00 2022
+++ loncom/interface/lonmenu.pm Wed Jun 8 01:42:20 2022
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# Routines to control the menu
#
-# $Id: lonmenu.pm,v 1.521 2022/05/29 03:19:00 raeburn Exp $
+# $Id: lonmenu.pm,v 1.522 2022/06/08 01:42:20 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -1949,8 +1949,17 @@
if (!$showreqcrs) {
foreach my $type (@reqtypes) {
if ($env{'environment.reqcrsotherdom.'.$type} ne '') {
- $showreqcrs = 1;
- last;
+ my @domains = split(',',$env{'environment.reqcrsotherdom.'.$type});
+ foreach my $entry (@domains) {
+ my ($extdom,$extopt) = split(':',$entry);
+ if (&Apache::lonnet::will_trust('reqcrs',$env{'user.domain'},$extdom)) {
+ $showreqcrs = 1;
+ last;
+ }
+ }
+ if ($showreqcrs) {
+ last;
+ }
}
}
}
Index: loncom/lonnet/perl/lonnet.pm
diff -u loncom/lonnet/perl/lonnet.pm:1.1485 loncom/lonnet/perl/lonnet.pm:1.1486
--- loncom/lonnet/perl/lonnet.pm:1.1485 Thu May 26 02:07:36 2022
+++ loncom/lonnet/perl/lonnet.pm Wed Jun 8 01:42:20 2022
@@ -1,7 +1,7 @@
# The LearningOnline Network
# TCP networking package
#
-# $Id: lonnet.pm,v 1.1485 2022/05/26 02:07:36 raeburn Exp $
+# $Id: lonnet.pm,v 1.1486 2022/06/08 01:42:20 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -8128,6 +8128,7 @@
my @options = ('approval','validate','autolimit');
my $optregex = join('|', at options);
if ((ref($can_request) eq 'HASH') && (ref($types) eq 'ARRAY')) {
+ my %willtrust;
foreach my $type (@{$types}) {
if (&usertools_access($uname,$udom,$type,undef,
'requestcourses')) {
@@ -8147,12 +8148,17 @@
if (ref($request_domains) eq 'HASH') {
my ($otherdom) = ($item =~ /^($match_domain):($optregex)(=?\d*)$/);
if ($otherdom ne '') {
- if (ref($request_domains->{$type}) eq 'ARRAY') {
- unless (grep(/^\Q$otherdom\E$/,@{$request_domains->{$type}})) {
+ unless (exists($willtrust{$otherdom})) {
+ $willtrust{$otherdom} = &will_trust('reqcrs',$env{'user.domain'},$otherdom);
+ }
+ if ($willtrust{$otherdom}) {
+ if (ref($request_domains->{$type}) eq 'ARRAY') {
+ unless (grep(/^\Q$otherdom\E$/,@{$request_domains->{$type}})) {
+ push(@{$request_domains->{$type}},$otherdom);
+ }
+ } else {
push(@{$request_domains->{$type}},$otherdom);
}
- } else {
- push(@{$request_domains->{$type}},$otherdom);
}
}
}
More information about the LON-CAPA-cvs
mailing list