--- loncom/interface/lonrequestcourse.pm 2016/09/05 01:46:08 1.99
+++ loncom/interface/lonrequestcourse.pm 2017/08/11 00:24:53 1.101
@@ -1,7 +1,7 @@
# The LearningOnline Network
# Request a course
#
-# $Id: lonrequestcourse.pm,v 1.99 2016/09/05 01:46:08 raeburn Exp $
+# $Id: lonrequestcourse.pm,v 1.101 2017/08/11 00:24:53 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -2121,14 +2121,15 @@ sub print_personnel_menu {
}
}
}
- for (my $i=0; $i<$persontotal; $i++) {
+ my ($trusted,$untrusted) = &Apache::lonnet::trusted_domains('enroll',$dom);
+ for (my $i=0; $i<$persontotal; $i++) {
my @linkargs = map { 'person_'.$i.'_'.$_ } (@items);
my $linkargstr = join("','",@linkargs);
my $uname_form = '';
my $onchange = 'javascript:fix_domain('."'$formname','person_".$i."_dom',".
"'person_".$i."_hidedom','person_".$i."_uname'".');';
my $udom_form = &Apache::loncommon::select_dom_form($dom,'person_'.$i.'_dom','',
- 1,$onchange).
+ 1,$onchange,undef,$trusted,$untrusted).
'';
my %form_elems;
foreach my $item (@items) {
@@ -3352,18 +3353,23 @@ sub get_course_dom {
return $env{'user.domain'};
}
}
- my @possible_doms;
+ my (@possible_doms,%willtrust,%trustchecked);
foreach my $type (@{$types}) {
my $dom_str = $env{'environment.reqcrsotherdom.'.$type};
if ($dom_str ne '') {
my @domains = split(',',$dom_str);
foreach my $entry (@domains) {
my ($extdom,$extopt) = split(':',$entry);
- if ($extdom eq $env{'request.role.domain'}) {
- return $extdom;
- }
- unless(grep(/^\Q$extdom\E$/,@possible_doms)) {
- push(@possible_doms,$extdom);
+ unless ($trustchecked{$extdom}) {
+ $willtrust{$extdom} = &Apache::lonnet::will_trust('reqcrs',$env{'user.domain'},$extdom);
+ }
+ if ($willtrust{$extdom}) {
+ if ($extdom eq $env{'request.role.domain'}) {
+ return $extdom;
+ }
+ unless(grep(/^\Q$extdom\E$/,@possible_doms)) {
+ push(@possible_doms,$extdom);
+ }
}
}
}
@@ -4597,7 +4603,6 @@ sub print_textbook_form {
owner => $courseinfo{'internal.courseowner'},
releaserequired => $courseinfo{'internal.releaserequired'},
type => $courseinfo{'type'},
- };
}
}