--- loncom/homework/grades.pm 2010/04/17 16:38:38 1.621 +++ loncom/homework/grades.pm 2010/04/18 18:45:41 1.623 @@ -1,7 +1,7 @@ # The LearningOnline Network with CAPA # The LON-CAPA Grading handler # -# $Id: grades.pm,v 1.621 2010/04/17 16:38:38 www Exp $ +# $Id: grades.pm,v 1.623 2010/04/18 18:45:41 www Exp $ # # Copyright Michigan State University Board of Trustees # @@ -43,6 +43,7 @@ use Apache::lonmsg(); use Apache::Constants qw(:common); use Apache::lonlocal; use Apache::lonenc; +use Apache::lonstathelpers; use String::Similarity; use LONCAPA; @@ -137,6 +138,7 @@ sub nameUserString { #--- Get the partlist and the response type for a given problem. --- #--- Indicate if a response type is coded handgraded or not. --- +#--- Sets response_error pointer to "1" if navmaps object broken --- sub response_type { my ($symb,$response_error) = @_; @@ -821,10 +823,8 @@ sub listStudents { my $result='

 ' .&mt("View/Grade/Regrade Submissions for a Student or a Group of Students") .'

'; - - my ($partlist,$handgrade,$responseType) = &response_type($symb -#,$res_error - ); + my $res_error; + my ($partlist,$handgrade,$responseType) = &response_type($symb,\$res_error); my %lt = &Apache::lonlocal::texthash ( 'multiple' => 'Please select a student or group of students before clicking on the Next button.', @@ -1740,8 +1740,8 @@ sub gradeBox { } sub handback_box { - my ($symb,$uname,$udom,$counter,$partid,$record,$res_error) = @_; - my ($partlist,$handgrade,$responseType) = &response_type($symb,$res_error); + my ($symb,$uname,$udom,$counter,$partid,$record,$res_error_pointer) = @_; + my ($partlist,$handgrade,$responseType) = &response_type($symb,$res_error_pointer); my (@respids); my @part_response_id = &flatten_responseType($responseType); foreach my $part_response_id (@part_response_id) { @@ -2129,7 +2129,7 @@ KEYWORDS $lastsubonly.="\n".'
'. ''.&mt('Part: [_1]',$display_part).''. ' '. - '('.&mt('Part ID: [_1]',$respid).')'. + '('.&mt('Response ID: [_1]',$respid).')'. '   '. ''.&mt('Nothing submitted - no attempts.').'

'; next; @@ -2174,7 +2174,7 @@ KEYWORDS $lastsubonly.='
'. ''.&mt('Part: [_1]',$display_part).''. ' '. - '('.&mt('Part ID: [_1]',$respid).')'. + '('.&mt('Response ID: [_1]',$respid).')'. '   '; my $files=&get_submitted_files($udom,$uname,$partid,$respid,\%record); if (@$files) { @@ -2205,7 +2205,7 @@ KEYWORDS } $request->print($lastsubonly); } elsif ($env{'form.lastSub'} eq 'datesub') { - my ($parts,$handgrade,$responseType) = &response_type($symb); + my ($parts,$handgrade,$responseType) = &response_type($symb,\$res_error); $request->print(&displaySubByDates($symb,\%record,$parts,$responseType,$checkIcon,$uname,$udom)); } elsif ($env{'form.lastSub'} =~ /^(last|all)$/) { $request->print(&Apache::loncommon::get_previous_attempt($symb,$uname,$udom, @@ -2213,7 +2213,6 @@ KEYWORDS $last,'.submission', 'Apache::grades::keywords_highlight')); } - $request->print(''."\n"); # return if view submission with no grading option @@ -9169,6 +9168,14 @@ sub startpage { } } +sub select_problem { + my ($r)=@_; + $r->print('

'.&mt('Select the problem or one of the problems you want to grade').'

'); + $r->print(&Apache::lonstathelpers::problem_selector('.',undef,1)); + $r->print(''); + $r->print('
'); +} + sub handler { my $request=$_[0]; &reset_caches(); @@ -9200,11 +9207,12 @@ sub handler { &Apache::lonenc::check_decrypt(\$symb); $ssi_error = 0; - if ($symb eq '' && $command eq '') { + if ($symb eq '' || $command eq '') { # # Not called from a resource # - + &startpage($request,undef,[],1,1); + &select_problem($request); } else { &init_perm(); if ($command eq 'submission' && $perm{'vgr'}) {