--- loncom/interface/lonparmset.pm 2021/08/12 20:43:26 1.602 +++ loncom/interface/lonparmset.pm 2022/02/21 18:04:35 1.604 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # Handler to set parameters for assessments # -# $Id: lonparmset.pm,v 1.602 2021/08/12 20:43:26 raeburn Exp $ +# $Id: lonparmset.pm,v 1.604 2022/02/21 18:04:35 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1736,13 +1736,11 @@ sub print_row { my ($domltistr,$crsltistr); my %lti = &Apache::lonnet::get_domain_lti($env{'course.'.$env{'request.course.id'}.'.domain'}, - 'provider'); + 'linkprot'); if (keys(%lti)) { foreach my $item (sort { $a <=> $b } (keys(%lti))) { - if (ref($lti{$item}) eq 'HASH') { - unless ($lti{$item}{'requser'}) { - $domltistr .= $item.':'.&escape(&escape($lti{$item}{'consumer'})).','; - } + if (($item =~ /^\d+$/) && (ref($lti{$item}) eq 'HASH')) { + $domltistr .= $item.':'.&escape(&escape($lti{$item}{'name'})).','; } } $domltistr =~ s/,$//; @@ -2089,11 +2087,22 @@ sub extractResourceInformation { my $uris=shift; my $keyorder=shift; my $defkeytype=shift; + my $pssymb=shift; my $keyordercnt=100; my $navmap = Apache::lonnavmaps::navmap->new(); - my @allres=$navmap->retrieveResources(undef,undef,1,undef,1); + return unless(ref($navmap)); + my @allres; + if ($pssymb ne '') { + my $res = $navmap->getBySymb($pssymb); + if (ref($res)) { + @allres = ($res); + } + } + if (!@allres) { + @allres=$navmap->retrieveResources(undef,undef,1,undef,1); + } foreach my $resource (@allres) { my $id=$resource->id(); my ($mapid,$resid)=split(/\./,$id); @@ -2217,7 +2226,7 @@ sub isdateparm { sub is_specialstring { my $type=shift; - return (($type=~/^string_/) && (($type ne 'string_yesno'))); + return (($type=~/^string_/) && ($type ne 'string_yesno')); } # Prints the HTML and Javascript to select parameters, with various shortcuts. @@ -3366,7 +3375,7 @@ sub assessparms { # --------------------------------------------------------- Get all assessments &extractResourceInformation(\@ids, \%typep,\%keyp, \%allparms, \%allparts, \%allmaps, \%mapp, \%symbp,\%maptitles,\%uris, - \%keyorder); + \%keyorder,undef,$pssymb); %allmaps_inverted = reverse(%allmaps); @@ -5100,12 +5109,10 @@ sub string_deeplink_selector { } my %lti = &Apache::lonnet::get_domain_lti($env{'course.'.$env{'request.course.id'}.'.domain'}, - 'provider'); + 'linkprot'); foreach my $item (keys(%lti)) { - if (ref($lti{$item}) eq 'HASH') { - unless ($lti{$item}{'requser'}) { - $domlti{$item} = $lti{$item}{'consumer'}; - } + if (($item =~ /^\d+$/) && (ref($lti{$item}) eq 'HASH')) { + $domlti{$item} = $lti{$item}{'name'}; } } if ($env{'course.'.$env{'request.course.id'}.'.menucollections'}) { @@ -5886,7 +5893,7 @@ ENDOVER &extractResourceInformation(\@ids, \%typep,\%keyp, \%allparms, \%allparts, \%allmaps, \%mapp, \%symbp,\%maptitles,\%uris, - \%keyorder,\%defkeytype); + \%keyorder,\%defkeytype,$pssymb); if (grep {$_ eq 'all'} (@psprt)) { @psprt = keys(%allparts);