--- loncom/homework/lonhomework.pm 2023/11/27 22:44:20 1.381 +++ loncom/homework/lonhomework.pm 2024/01/13 12:07:13 1.382 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # The LON-CAPA Homework handler # -# $Id: lonhomework.pm,v 1.381 2023/11/27 22:44:20 raeburn Exp $ +# $Id: lonhomework.pm,v 1.382 2024/01/13 12:07:13 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -2000,8 +2000,8 @@ sub do_ltipassback { if ($scope eq 'resource') { $total = $item->{'total'}; $possible = $item->{'possible'}; - } elsif ($scope eq 'map') { - ($total,$possible) = &get_lti_score($uname,$udom,$map); + } elsif (($scope eq 'map') || ($scope eq 'nonrec')) { + ($total,$possible) = &get_lti_score($uname,$udom,$map,$scope); } elsif ($scope eq 'course') { ($total,$possible) = &get_lti_score($uname,$udom); } @@ -2016,7 +2016,7 @@ sub do_ltipassback { } sub get_lti_score { - my ($uname,$udom,$mapurl) = @_; + my ($uname,$udom,$mapurl,$scope) = @_; my $navmap = Apache::lonnavmaps::navmap->new($uname,$udom); if (ref($navmap)) { my $iterator; @@ -2024,7 +2024,11 @@ sub get_lti_score { my $map = $navmap->getResourceByUrl($mapurl); my $firstres = $map->map_start(); my $finishres = $map->map_finish(); - $iterator = $navmap->getIterator($firstres,$finishres,undef,1); + my $recursive = 1; + if ($scope eq 'nonrec') { + $recursive = 0; + } + $iterator = $navmap->getIterator($firstres,$finishres,undef,$recursive); } else { $iterator = $navmap->getIterator(undef,undef,undef,1); }