Diff for /loncom/homework/response.pm between versions 1.244.2.3 and 1.245

version 1.244.2.3, 2021/01/12 15:57:18 version 1.245, 2018/03/30 23:50:13
Line 265  sub mandatory_part_meta { Line 265  sub mandatory_part_meta {
 }  }
   
 sub meta_part_order {  sub meta_part_order {
       my ($type) = @_; 
     if (@Apache::inputtags::partlist) {      if (@Apache::inputtags::partlist) {
  my @parts=@Apache::inputtags::partlist;   my @parts=@Apache::inputtags::partlist;
  shift(@parts);          unless ($type eq 'library') {
       shift(@parts);
           }
  return '<partorder>'.join(',',@parts).'</partorder>'."\n";   return '<partorder>'.join(',',@parts).'</partorder>'."\n";
       } elsif ($type eq 'library') {
           return '<partorder></partorder>'."\n";
     } else {      } else {
  return '<partorder>0</partorder>'."\n";   return '<partorder>0</partorder>'."\n";
     }      }
Line 468  sub end_customresponse { Line 473  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 1307  sub submitted { Line 1312  sub submitted {
  return 1;   return 1;
     }      }
     # Submit All button on a .page was pressed      # Submit All button on a .page was pressed
     if ($env{'form.all_submit'}) { return 1; }      if (defined($env{'form.all_submit'})) { return 1; }
     # otherwise no submission occurred      # otherwise no submission occurred
     return 0;      return 0;
 }  }
Line 1343  basically undef and 0 (both false) mean Line 1348  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 1365  sub check_status { Line 1368  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.3  
changed lines
  Added in v.1.245


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