Diff for /loncom/homework/response.pm between versions 1.244.2.4 and 1.244.4.1

version 1.244.2.4, 2024/07/02 00:40:42 version 1.244.4.1, 2020/06/03 18:48:34
Line 468  sub end_customresponse { Line 468  sub end_customresponse {
  $error = $award;   $error = $award;
  $award = 'ERROR';   $award = 'ERROR';
     }      }
             if (($award eq 'INCORRECT') || ($award eq 'APPROX_ANS') ||              if (($award eq 'INCORRECT' || $award eq 'APPROX_ANS' ||
                 ($award eq 'EXACT_ANS') || ($award eq 'ASSIGNED_SCORE')) {                   $award eq 'EXACT_ANS')) {
                 if ($Apache::lonhomework::type eq 'survey') {                  if ($Apache::lonhomework::type eq 'survey') {
                     $award='SUBMITTED';                      $award='SUBMITTED';
                 } elsif ($Apache::lonhomework::type eq 'surveycred') {                  } elsif ($Apache::lonhomework::type eq 'surveycred') {
Line 766  sub start_responseparam { Line 766  sub start_responseparam {
  }   }
     } elsif ($target eq 'grade' || $target eq 'answer' || $target eq 'web' ||      } elsif ($target eq 'grade' || $target eq 'answer' || $target eq 'web' ||
      $target eq 'tex' || $target eq 'analyze' ) {       $target eq 'tex' || $target eq 'analyze' ) {
  if (($env{'request.state'} eq 'construct') ||   if ($env{'request.state'} eq 'construct') {
     ($env{'request.noversionuri'} =~ m{^\Q/res/adm/includes/templates/\E[^/]+\.problem$})) {  
     my $name   =&Apache::lonxml::get_param('name',$parstack,$safeeval);      my $name   =&Apache::lonxml::get_param('name',$parstack,$safeeval);
     my $default=&Apache::lonxml::get_param('default',$parstack,      my $default=&Apache::lonxml::get_param('default',$parstack,
      $safeeval);       $safeeval);
Line 798  sub reset_params { Line 797  sub reset_params {
 sub setup_params {  sub setup_params {
     my ($tag,$safeeval) = @_;      my ($tag,$safeeval) = @_;
   
     if (($env{'request.state'} eq 'construct') ||      if ($env{'request.state'} eq 'construct') { return; }
         ($env{'request.noversionuri'} =~ m{^\Q/res/adm/includes/templates/\E[^/]+\.problem$})) {  
         return;  
     }  
     my %paramlist=();      my %paramlist=();
     foreach my $key (keys(%Apache::lonnet::packagetab)) {      foreach my $key (keys(%Apache::lonnet::packagetab)) {
  if ($key =~ /^\Q$tag\E/) {   if ($key =~ /^\Q$tag\E/) {
Line 1347  basically undef and 0 (both false) mean Line 1343  basically undef and 0 (both false) mean
 and all true values mean that they can't do any more work  and all true values mean that they can't do any more work
   
  a return of undef means it is unattempted   a return of undef means it is unattempted
  a return of 0 means it is both attempted and still has tries and   a return of 0 means it is attmpted and wrong but still has tries
                       is wrong or is only partially correct, and retries  
                       are allowed.  
  a return of 1 means it is marked correct   a return of 1 means it is marked correct
  a return of 2 means they have exceeded maximum number of tries   a return of 2 means they have exceed maximum number of tries
  a return of 3 means it is after the answer date   a return of 3 means it after the answer date
   
 =cut  =cut
   
Line 1369  sub check_status { Line 1363  sub check_status {
         return 3;          return 3;
     }      }
     my $status=&Apache::lonnet::EXT("user.resource.resource.$id.solved");      my $status=&Apache::lonnet::EXT("user.resource.resource.$id.solved");
     if ($status =~ /^correct/) {      if ($status =~ /^correct/) { return 1; }
         my $awarded=&Apache::lonnet::EXT("user.resource.resource.$id.awarded");  
         my $retrypartial=&Apache::lonnet::EXT("resource.$id.retrypartial");  
         unless (($retrypartial =~ /^1|on|yes$/) && ($awarded <1))  {  
             return 1;  
         }  
     }  
     if (!$status) { return undef; }      if (!$status) { return undef; }
     my $maxtries=&Apache::lonnet::EXT("resource.$id.maxtries");      my $maxtries=&Apache::lonnet::EXT("resource.$id.maxtries");
     if ($maxtries eq '') { $maxtries=2; }      if ($maxtries eq '') { $maxtries=2; }

Removed from v.1.244.2.4  
changed lines
  Added in v.1.244.4.1


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