--- loncom/interface/lonrequestcourse.pm 2016/09/05 01:46:08 1.99 +++ loncom/interface/lonrequestcourse.pm 2017/08/07 20:22:13 1.100 @@ -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.100 2017/08/07 20:22:13 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 ($trustedref,$untrustedref) = &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,$trustedref,$untrustedref). ''; 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'}, - }; } }