Diff for /loncom/homework/matchresponse.pm between versions 1.82 and 1.83

version 1.82, 2011/09/13 21:42:58 version 1.83, 2011/10/07 22:39:59
Line 450  sub grade_response { Line 450  sub grade_response {
  }   }
     }      }
     my $part=$Apache::inputtags::part;      my $part=$Apache::inputtags::part;
       my $nonlenient=&Apache::optionresponse::is_nonlenient($part);
     my $id = $Apache::inputtags::response['-1'];      my $id = $Apache::inputtags::response['-1'];
     my $responsestr=&Apache::lonnet::hash2str(%responsehash);      my $responsestr=&Apache::lonnet::hash2str(%responsehash);
     my $itemstr    =&Apache::lonnet::array2str(@items);      my $itemstr    =&Apache::lonnet::array2str(@items);
Line 486  sub grade_response { Line 487  sub grade_response {
     my $ad=$Apache::lonhomework::results{"resource.$part.$id.awarddetail"}='MISSING_ANSWER';      my $ad=$Apache::lonhomework::results{"resource.$part.$id.awarddetail"}='MISSING_ANSWER';
     &Apache::response::handle_previous(\%previous,$ad);      &Apache::response::handle_previous(\%previous,$ad);
  }   }
     } elsif (!$Apache::lonhomework::scantronmode) {      } elsif ($nonlenient) {
  my $ad;          my $ad;
  if ($wrong==0 && $ignored==0) {          if ($wrong==0 && $ignored==0) {
     $ad='EXACT_ANS';              $ad='EXACT_ANS';
  } elsif ($wrong==0 && $right==0) {          } elsif ($wrong==0 && $right==0) {
     #nothing submitted              #nothing submitted
  } else {          } else {
     if ($ignored==0) {              if ($ignored==0) {
  $ad='INCORRECT';                  $ad='INCORRECT';
     } else {              } else {
  $ad='MISSING_ANSWER';                  $ad='MISSING_ANSWER';
     }              }
  }          }
  $Apache::lonhomework::results{"resource.$part.$id.awarddetail"}=$ad;          $Apache::lonhomework::results{"resource.$part.$id.awarddetail"}=$ad;
  &Apache::response::handle_previous(\%previous,$ad);          &Apache::response::handle_previous(\%previous,$ad);
     } else {      } else {
  my $ad;          my $ad;
  if ($wrong==0 && $right==0) {          if ($wrong==0 && $right==0) {
     #nothing submitted              #nothing submitted only assign a score if we
  } else {              #need to override a previous grade
     $ad='ASSIGNED_SCORE';              if (defined($Apache::lonhomework::history{"resource.$part.$id.awarddetail"})) {
     $Apache::lonhomework::results{"resource.$part.$id.awarddetail"}=                  $ad='ASSIGNED_SCORE';
  $ad;              }
     $Apache::lonhomework::results{"resource.$part.$id.awarded"}=          } else {
  $right/(scalar(@whichfoils));              $ad='ASSIGNED_SCORE';
     $Apache::lonhomework::results{"resource.$part.$id.numfoils"}=          }
  scalar(@whichfoils);          $Apache::lonhomework::results{"resource.$part.$id.awarddetail"}=$ad;
  }          $Apache::lonhomework::results{"resource.$part.$id.awarded"}=
               $right/(scalar(@whichfoils));
           $Apache::lonhomework::results{"resource.$part.$id.numfoils"}=
               scalar(@whichfoils);
     }      }
 }  }
   

Removed from v.1.82  
changed lines
  Added in v.1.83


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>