Diff for /loncom/homework/grades.pm between versions 1.277 and 1.278

version 1.277, 2005/08/09 15:53:20 version 1.278, 2005/08/12 21:33:41
Line 2295  sub version_portfiles { Line 2295  sub version_portfiles {
  '/userfiles/portfolio';   '/userfiles/portfolio';
     foreach my $key (keys(%$record)) {      foreach my $key (keys(%$record)) {
         my $new_portfiles;          my $new_portfiles;
   
         if ($key =~ /^resource\.($version_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});
             # &Apache::lonnet::logthis("should be unmarking and remarking");              &Apache::lonnet::logthis("should be unmarking and remarking $key",@portfiles);
             foreach my $file (@portfiles) {              foreach my $file (@portfiles) {
                 &Apache::lonnet::unmark_as_readonly($domain,$stuname,[$symb,$env{'request.course.id'}],$file);                  &Apache::lonnet::unmark_as_readonly($domain,$stuname,[$symb,$env{'request.course.id'}],$file);
                 my ($directory,$answer_file) =($file =~ /^(.*?)([^\/]*$)/);                  my ($directory,$answer_file) =($file =~ /^(.*?)([^\/]*$)/);
Line 3864  sub scantron_CODElist { Line 3865  sub scantron_CODElist {
     my $namechoice='<option></option>';      my $namechoice='<option></option>';
     foreach my $name (sort {uc($a) cmp uc($b)} @names) {      foreach my $name (sort {uc($a) cmp uc($b)} @names) {
  if ($name =~ /^error: 2 /) { next; }   if ($name =~ /^error: 2 /) { next; }
    if ($name =~ /^type\0/) { next; }
  $namechoice.='<option value="'.$name.'">'.$name.'</option>';   $namechoice.='<option value="'.$name.'">'.$name.'</option>';
     }      }
     $namechoice='<select name="scantron_CODElist">'.$namechoice.'</select>';      $namechoice='<select name="scantron_CODElist">'.$namechoice.'</select>';
Line 4139  sub scantron_parse_scanline { Line 4141  sub scantron_parse_scanline {
     my %record;      my %record;
     my $questions=substr($line,$$scantron_config{'Qstart'}-1);      my $questions=substr($line,$$scantron_config{'Qstart'}-1);
     my $data=substr($line,0,$$scantron_config{'Qstart'}-1);      my $data=substr($line,0,$$scantron_config{'Qstart'}-1);
     if ($$scantron_config{'CODElocation'} ne 0) {      if (!($$scantron_config{'CODElocation'} eq 0 ||
  if ($$scantron_config{'CODElocation'} < 0) {    $$scantron_config{'CODElocation'} eq 'none')) {
    if ($$scantron_config{'CODElocation'} < 0 ||
       $$scantron_config{'CODElocation'} eq 'letter' ||
       $$scantron_config{'CODElocation'} eq 'number') {
     $record{'scantron.CODE'}=substr($data,      $record{'scantron.CODE'}=substr($data,
     $$scantron_config{'CODEstart'}-1,      $$scantron_config{'CODEstart'}-1,
     $$scantron_config{'CODElength'});      $$scantron_config{'CODElength'});
Line 4751  sub scantron_get_correction { Line 4756  sub scantron_get_correction {
  if ($error eq 'incorrectCODE'    if ($error eq 'incorrectCODE' 
     && $$scan_record{'scantron.CODE'}=~/\S/ ) {      && $$scan_record{'scantron.CODE'}=~/\S/ ) {
     my ($max,$closest)=&scantron_get_closely_matching_CODEs($arg,$$scan_record{'scantron.CODE'});      my ($max,$closest)=&scantron_get_closely_matching_CODEs($arg,$$scan_record{'scantron.CODE'});
     foreach my $testcode (@{$closest}) {      if ($closest > 0) {
  my $checked='';   foreach my $testcode (@{$closest}) {
  if (!$i) { $checked=' checked="on" '; }      my $checked='';
  $r->print("<label><input type='radio' name='scantron_CODE_resolution' value='use_closest_$i' $checked /> Use the similar CODE <b><tt>".$testcode."</tt></b> instead.</label><input type='hidden' name='scantron_CODE_closest_$i' value='$testcode' />");      if (!$i) { $checked=' checked="on" '; }
  $r->print("\n<br />");      $r->print("<label><input type='radio' name='scantron_CODE_resolution' value='use_closest_$i' $checked /> Use the similar CODE <b><tt>".$testcode."</tt></b> instead.</label><input type='hidden' name='scantron_CODE_closest_$i' value='$testcode' />");
  $i++;      $r->print("\n<br />");
       $i++;
    }
     }      }
  }   }
  if ($$scan_record{'scantron.CODE'}=~/\S/ ) {   if ($$scan_record{'scantron.CODE'}=~/\S/ ) {
Line 4865  sub get_codes { Line 4872  sub get_codes {
     my $old_name=$env{'form.scantron_CODElist'};      my $old_name=$env{'form.scantron_CODElist'};
     my $cdom =$env{'course.'.$env{'request.course.id'}.'.domain'};      my $cdom =$env{'course.'.$env{'request.course.id'}.'.domain'};
     my $cnum =$env{'course.'.$env{'request.course.id'}.'.num'};      my $cnum =$env{'course.'.$env{'request.course.id'}.'.num'};
     my %result=&Apache::lonnet::get('CODEs',[$old_name],$cdom,$cnum);      my %result=&Apache::lonnet::get('CODEs',[$old_name,"type\0$old_name"],
     my %allcodes=map {(&Apache::lonprintout::num_to_letters($_),1)} split(',',$result{$old_name});      $cdom,$cnum);
       my %allcodes;
       if ($result{"type\0$old_name"} eq 'number') {
    %allcodes=map {($_,1)} split(',',$result{$old_name});
       } else {
    %allcodes=map {(&Apache::lonprintout::num_to_letters($_),1)} split(',',$result{$old_name});
       }
     return %allcodes;      return %allcodes;
 }  }
   

Removed from v.1.277  
changed lines
  Added in v.1.278


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