Diff for /loncom/homework/inputtags.pm between versions 1.86 and 1.89

version 1.86, 2003/04/02 19:51:24 version 1.89, 2003/04/08 02:37:58
Line 89  sub start_textfield { Line 89  sub start_textfield {
  if ( $cols eq '') { $cols = 80; }   if ( $cols eq '') { $cols = 80; }
  my $rows = &Apache::lonxml::get_param('rows',$parstack,$safeeval);   my $rows = &Apache::lonxml::get_param('rows',$parstack,$safeeval);
  if ( $rows eq '') { $rows = 10; }   if ( $rows eq '') { $rows = 10; }
  $result= '<textarea name="HWVAL'.$resid.'" '.   $result= '<textarea name="HWVAL_'.$resid.'" '.
     "rows=\"$rows\" cols=\"$cols\">".$oldresponse;      "rows=\"$rows\" cols=\"$cols\">".$oldresponse;
  if ($oldresponse ne '') {   if ($oldresponse ne '') {
     #get rid of any startup text if the user has already responded      #get rid of any startup text if the user has already responded
Line 104  sub start_textfield { Line 104  sub start_textfield {
     }      }
   } elsif ($target eq 'grade') {    } elsif ($target eq 'grade') {
     my $seedtext=&Apache::lonxml::get_all_text("/textfield",$parser);      my $seedtext=&Apache::lonxml::get_all_text("/textfield",$parser);
     if ($seedtext eq $ENV{'form.HWVAL'.$resid}) {      if ($seedtext eq $ENV{'form.HWVAL_'.$resid}) {
       # if the seed text is still there it wasn't a real submission        # if the seed text is still there it wasn't a real submission
       $ENV{'form.HWVAL'.$resid}='';        $ENV{'form.HWVAL_'.$resid}='';
     }      }
   } elsif ($target eq 'edit') {    } elsif ($target eq 'edit') {
     $result.=&Apache::edit::tag_start($target,$token);      $result.=&Apache::edit::tag_start($target,$token);
Line 164  sub start_textline { Line 164  sub start_textline {
       my $id=$Apache::inputtags::response[-1];        my $id=$Apache::inputtags::response[-1];
       my $oldresponse = &HTML::Entities::encode($Apache::lonhomework::history{"resource.$partid.$id.submission"});        my $oldresponse = &HTML::Entities::encode($Apache::lonhomework::history{"resource.$partid.$id.submission"});
       if ($Apache::lonhomework::type ne 'exam') {        if ($Apache::lonhomework::type ne 'exam') {
         $result= '<input type="text" name="HWVAL'.$id.'" value="'.          $result= '<input type="text" name="HWVAL_'.$id.'" value="'.
     $oldresponse.'" size="'.$size.'" maxlength="'.$maxlength.'" />';      $oldresponse.'" size="'.$size.'" maxlength="'.$maxlength.'" />';
       }        }
     } else {      } else {
Line 340  sub decideoutput { Line 340  sub decideoutput {
   return ($button,$message,$previousmsg);    return ($button,$message,$previousmsg);
 }  }
   
   sub removealldata {
       my ($id)=@_;
       foreach my $key (keys(%Apache::lonhomework::results)) {
    if (($key =~ /^resource\.\Q$id\E\./) && ($key !~ /\.collaborators$/)) {
       &Apache::lonxml::debug("Removing $key");
       delete($Apache::lonhomework::results{$key});
    }
       }
   }
   
 sub setgradedata {  sub setgradedata {
   my ($award,$id,$previously_used) = @_;    my ($award,$id,$previously_used) = @_;
   # if the student already has it correct, don't modify the status    # if the student already has it correct, don't modify the status
Line 372  sub setgradedata { Line 382  sub setgradedata {
     } elsif ( $award eq 'DRAFT' ) {      } elsif ( $award eq 'DRAFT' ) {
       $Apache::lonhomework::results{"resource.$id.solved"} = '';        $Apache::lonhomework::results{"resource.$id.solved"} = '';
     } elsif ( $award eq 'NO_RESPONSE' ) {      } elsif ( $award eq 'NO_RESPONSE' ) {
       return '';   #no real response so delete any data that got stored
    &removealldata($id);
    return '';
     } else {      } else {
       $Apache::lonhomework::results{"resource.$id.solved"} =        $Apache::lonhomework::results{"resource.$id.solved"} =
  'incorrect_attempted';   'incorrect_attempted';
Line 386  sub setgradedata { Line 398  sub setgradedata {
     } elsif ( $previously_used eq 'PREVIOUSLY_LAST') {      } elsif ( $previously_used eq 'PREVIOUSLY_LAST') {
       #delete all data as they student didn't do anything, but save        #delete all data as they student didn't do anything, but save
       #the list of collaborators.        #the list of collaborators.
       foreach my $key (keys(%Apache::lonhomework::results)) {        &removealldata($id);
  if (($key =~ /^resource\.$id\./) && ($key !~ /\.collaborators$/)) {  
   &Apache::lonxml::debug("Removing $key");  
   delete($Apache::lonhomework::results{$key});  
  }  
       }  
       #and since they didn't do anything we were never here        #and since they didn't do anything we were never here
       return '';        return '';
     } else {      } else {
Line 400  sub setgradedata { Line 407  sub setgradedata {
   } elsif ( $Apache::lonhomework::history{"resource.$id.solved"} =~    } elsif ( $Apache::lonhomework::history{"resource.$id.solved"} =~
     /^correct/ ) {      /^correct/ ) {
       #delete all data as they student already has it correct        #delete all data as they student already has it correct
       foreach my $key (keys(%Apache::lonhomework::results)) {        &removealldata($id);
   if (($key =~ /^resource\.$id\./) && ($key !~ /\.collaborators$/)) {  
       &Apache::lonxml::debug("Removing $key");  
       delete($Apache::lonhomework::results{$key});  
   }  
       }  
       #and since they didn't do anything we were never here        #and since they didn't do anything we were never here
       return '';        return '';
   }    }

Removed from v.1.86  
changed lines
  Added in v.1.89


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