--- loncom/homework/grades.pm 2008/03/12 02:46:52 1.514 +++ loncom/homework/grades.pm 2008/03/17 20:39:50 1.515 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # The LON-CAPA Grading handler # -# $Id: grades.pm,v 1.514 2008/03/12 02:46:52 raeburn Exp $ +# $Id: grades.pm,v 1.515 2008/03/17 20:39:50 raeburn Exp $ # # Copyright Michigan State University Board of Trustees # @@ -7231,20 +7231,23 @@ sub scantron_get_maxbubble { my $response_number = 0; my $bubble_line = 0; foreach my $resource (@resources) { + my $symb = $resource->symb(); # Need to retrieve part IDs and response IDs because essayresponse, # reactionresponse and organicresponse items are not included in # $analysis{'parts'} from lonnet::ssi. my %possible_part_ids; if (ref($resource->parts()) eq 'ARRAY') { foreach my $part (@{$resource->parts()}) { - my @resp_ids = $resource->responseIds($part); - foreach my $id (@resp_ids) { - $possible_part_ids{$part.'.'.$id} = 1; + if (!&Apache::loncommon::check_if_partid_hidden($part,$symb,$udom,$uname)) { + my @resp_ids = $resource->responseIds($part); + foreach my $id (@resp_ids) { + $possible_part_ids{$part.'.'.$id} = 1; + } } } } my $result=&ssi_with_retries($resource->src(), $ssi_retries, - ('symb' => $resource->symb()), + ('symb' => $symb), ('grade_target' => 'analyze'), ('grade_courseid' => $cid), ('grade_domain' => $udom), @@ -7257,7 +7260,12 @@ sub scantron_get_maxbubble { my %analysis = &Apache::lonnet::str2hash($an); if (ref($analysis{'parts'}) eq 'ARRAY') { - @parts = @{$analysis{'parts'}}; + foreach my $part (@{$analysis{'parts'}}) { + my ($id,$respid) = split(/\./,$part); + if (!&Apache::loncommon::check_if_partid_hidden($id,$symb,$udom,$uname)) { + push(@parts,$part); + } + } } # Add part_ids for any essayresponse items. foreach my $part_id (keys(%possible_part_ids)) {