--- loncom/homework/grades.pm 2007/03/13 18:59:56 1.391 +++ loncom/homework/grades.pm 2007/04/15 18:25:56 1.394 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # The LON-CAPA Grading handler # -# $Id: grades.pm,v 1.391 2007/03/13 18:59:56 banghart Exp $ +# $Id: grades.pm,v 1.394 2007/04/15 18:25:56 banghart Exp $ # # Copyright Michigan State University Board of Trustees # @@ -117,8 +117,12 @@ sub response_type { my $navmap = Apache::lonnavmaps::navmap->new(); my $res = $navmap->getBySymb($symb); my $partlist = $res->parts(); + my %vPart = + map { $_ => 1 } (&Apache::loncommon::get_env_multiple('form.vPart')); my (%response_types,%handgrade); foreach my $part (@{ $partlist }) { + next if (%vPart && !exists($vPart{$part})); + my @types = $res->responseType($part); my @ids = $res->responseIds($part); for (my $i=0; $i < scalar(@ids); $i++) { @@ -1622,7 +1626,27 @@ sub show_problem { $result.='
'; return $result; } - +sub download_all_link { + my ($r,$symb) = @_; + my $courseid=$env{'request.course.id'}; + my @stuchecked = &Apache::loncommon::get_env_multiple('form.stuinfo'); + my $parts; + my $total = scalar(@stuchecked)-1; + my $all_students; + foreach my $stu_info (@stuchecked) { + $all_students .= $stu_info."\n"; + } + foreach my $part (&Apache::loncommon::get_env_multiple('form.vPart')) { + $parts .= $part."\n"; + } + my $identifier = &Apache::loncommon::get_cgi_id(); + &Apache::lonnet::appenv('cgi.'.$identifier.'.students' => $all_students, + 'cgi.'.$identifier.'.symb' => $symb, + 'cgi.'.$identifier.'.parts' => $parts, + 'cgi.'.$identifier.'.courseid' => $courseid); + $r->print('Download All Submitted Documents'); + return +} # --------------------------- show submissions of a student, option to grade sub submission { my ($request,$counter,$total) = @_; @@ -1657,7 +1681,7 @@ sub submission { &sub_page_kw_js($request) if ($env{'form.handgrade'} eq 'yes'); $env{'form.probTitle'} = $env{'form.probTitle'} eq '' ? &Apache::lonnet::gettitle($symb) : $env{'form.probTitle'}; - + &download_all_link($request,$symb); $request->print('

 Submission Record

'."\n". ' Resource: '.$env{'form.probTitle'}.''."\n"); @@ -1868,6 +1892,9 @@ KEYWORDS my %seenparts; my @part_response_id = &flatten_responseType($responseType); foreach my $part (@part_response_id) { + next if ($env{'form.lastSub'} eq 'hdgrade' + && $$handgrade{$$part[0].'_'.$$part[1]} ne 'yes'); + my ($partid,$respid) = @{ $part }; my $display_part=&get_display_part($partid,$symb); if ($env{"form.$uname:$udom:$partid:submitted_by"}) { @@ -1914,8 +1941,8 @@ KEYWORDS ($env{'form.lastSub'} eq 'hdgrade' && $$handgrade{$$part[0].'_'.$$part[1]} eq 'yes')) { my $display_part=&get_display_part($partid,$symb); - $lastsubonly.='Part: '. - $display_part.' ( ID '.$respid. + $lastsubonly.='Debug -'.'Part: '. + $display_part.' ( hhhh ID '.$respid. ' )   '; my $files=&get_submitted_files($udom,$uname,$partid,$respid,\%record); if (@$files) { @@ -2008,7 +2035,8 @@ KEYWORDS my $part_resp = join('_',@{ $part_response_id }); next if ($seen{$partid} > 0); $seen{$partid}++; - next if ($$handgrade{$part_resp} =~ /:no$/ && $env{'form.lastSub'} =~ /^(hdgrade)$/); + next if ($$handgrade{$part_resp} ne 'yes' + && $env{'form.lastSub'} eq 'hdgrade'); push @partlist,$partid; push @gradePartRespid,$partid.'.'.$respid; $request->print(&gradeBox($request,$symb,$uname,$udom,$counter,$partid,\%record)); @@ -6122,6 +6150,10 @@ sub handler { } } else { &init_perm(); + &Apache::lonnet::logthis("command is $command"); + foreach my $key (keys %perm) { + &Apache::lonnet::logthis("key is $key"); + } if ($command eq 'submission' && $perm{'vgr'}) { ($env{'form.student'} eq '' ? &listStudents($request) : &submission($request,0,0)); } elsif ($command eq 'pickStudentPage' && $perm{'vgr'}) {