Diff for /loncom/homework/grades.pm between versions 1.261 and 1.263

version 1.261, 2005/04/08 19:26:58 version 1.263, 2005/04/12 16:54:52
Line 2109  sub processHandGrade { Line 2109  sub processHandGrade {
 #---- Save the score and award for each student, if changed  #---- Save the score and award for each student, if changed
 sub saveHandGrade {  sub saveHandGrade {
     my ($request,$url,$symb,$stuname,$domain,$newflg,$submitter,$part) = @_;      my ($request,$url,$symb,$stuname,$domain,$newflg,$submitter,$part) = @_;
     my $v_flag=0;      my @v_flag;
     my $usec = &Apache::lonnet::getsection($domain,$stuname,      my $usec = &Apache::lonnet::getsection($domain,$stuname,
    $env{'request.course.id'});     $env{'request.course.id'});
     if (!&canmodify($usec)) { return('not_allowed'); }      if (!&canmodify($usec)) { return('not_allowed'); }
Line 2174  sub saveHandGrade { Line 2174  sub saveHandGrade {
  }   }
  # unless problem has been graded, set flag to version the submitted files   # unless problem has been graded, set flag to version the submitted files
  unless ($record{'resource.'.$new_part.'.solved'} =~ /^correct_/  || $record{'resource.'.$new_part.'.solved'} eq 'incorrect_by_override') {   unless ($record{'resource.'.$new_part.'.solved'} =~ /^correct_/  || $record{'resource.'.$new_part.'.solved'} eq 'incorrect_by_override') {
     $v_flag = 1;      push (@v_flag,$new_part);
  }   }
     }      }
     if (scalar(keys(%newrecord)) > 0) {      if (scalar(keys(%newrecord)) > 0) {
         if ($v_flag) {          if (scalar(@v_flag)) {
             &Apache::lonnet::unmark_as_readonly($domain,$stuname,$symb.$env{'request.course.id'});              &version_portfiles(\%record, \@parts_graded, $env{'request.course.id'}, $symb, $domain, $stuname, \@v_flag);
             &version_portfiles(\%record, \@parts_graded, $env{'request.course.id'}, $symb, $domain, $stuname);  
         }          }
           &Apache::lonnet::unmark_as_readonly($domain,$stuname,$symb.$env{'request.course.id'});
  &Apache::lonnet::cstore(\%newrecord,$symb,   &Apache::lonnet::cstore(\%newrecord,$symb,
  $env{'request.course.id'},$domain,$stuname);   $env{'request.course.id'},$domain,$stuname);
     }      }
Line 2190  sub saveHandGrade { Line 2190  sub saveHandGrade {
   
 # ----------- Handles creating versions for portfolio files as answers  # ----------- Handles creating versions for portfolio files as answers
 sub version_portfiles {  sub version_portfiles {
     my ($record, $parts_graded, $courseid, $symb, $domain, $stuname) = @_;      my ($record, $parts_graded, $courseid, $symb, $domain, $stuname, $v_flag) = @_;
       my $version_parts = join('|',@$v_flag);
     my $parts = join('|', @$parts_graded);      my $parts = join('|', @$parts_graded);
     my $portfolio_root = &Apache::loncommon::propath($domain,      my $portfolio_root = &Apache::loncommon::propath($domain,
  $stuname).   $stuname).
Line 2198  sub version_portfiles { Line 2199  sub version_portfiles {
     foreach my $key(keys %$record) {      foreach my $key(keys %$record) {
         #&Apache::lonnet::logthis("key is $key, value is $$record{$key}");          #&Apache::lonnet::logthis("key is $key, value is $$record{$key}");
         my $new_portfiles;          my $new_portfiles;
         if ($key =~ /^resource\.($parts)\./ && $key =~ /\.portfiles$/) {          if ($key =~ /^resource\.($version_parts)\./ && $key =~ /\.portfiles$/ ) {
             my @v_portfiles;              my @v_portfiles;
             my @portfiles = split(/,/,$$record{$key});              my @portfiles = split(/,/,$$record{$key});
             foreach my $file (@portfiles) {              foreach my $file (@portfiles) {

Removed from v.1.261  
changed lines
  Added in v.1.263


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