Diff for /loncom/homework/grades.pm between versions 1.115 and 1.116

version 1.115, 2003/07/14 16:11:19 version 1.116, 2003/07/15 20:59:53
Line 418  LISTJAVASCRIPT Line 418  LISTJAVASCRIPT
     my $checklastsub = $ENV{'form.handgrade'} eq 'yes' ? '' : 'checked';      my $checklastsub = $ENV{'form.handgrade'} eq 'yes' ? '' : 'checked';
   
     my $gradeTable='<form action="/adm/grades" method="post" name="gradesub">'."\n".      my $gradeTable='<form action="/adm/grades" method="post" name="gradesub">'."\n".
  '&nbsp;<b>View Problem: </b><input type="radio" name="vProb" value="no" checked /> no '."\n".   '&nbsp;<b>View Problem Text: </b><input type="radio" name="vProb" value="no" checked /> no '."\n".
  '<input type="radio" name="vProb" value="yes" /> one student '."\n".   '<input type="radio" name="vProb" value="yes" /> one student '."\n".
  '<input type="radio" name="vProb" value="all" /> all students <br />'."\n".   '<input type="radio" name="vProb" value="all" /> all students <br />'."\n".
  '&nbsp;<b>Submissions: </b>'."\n";   '&nbsp;<b>Submissions: </b>'."\n";
Line 1114  sub submission { Line 1114  sub submission {
     if ($symb eq '') { $request->print("Unable to handle ambiguous references:$url:."); return ''; }      if ($symb eq '') { $request->print("Unable to handle ambiguous references:$url:."); return ''; }
   
     if (!&canview($usec)) {      if (!&canview($usec)) {
  $request->print('<font color="red">Unable to view requested student.('.$uname.$udom.$usec.$ENV{'request.course.id'}.')</font>');   $request->print('<font color="red">Unable to view requested student.('.
    $uname.$udom.$usec.$ENV{'request.course.id'}.')</font>');
  $request->print(&show_grading_menu_form($symb,$url));   $request->print(&show_grading_menu_form($symb,$url));
  return;   return;
     }      }
Line 1226  KEYWORDS Line 1227  KEYWORDS
  '<table border="0" width=100%><tr bgcolor="#edffff"><td>'."\n";   '<table border="0" width=100%><tr bgcolor="#edffff"><td>'."\n";
   
     $result.='<b>Fullname: </b>'.$ENV{'form.fullname'}.      $result.='<b>Fullname: </b>'.$ENV{'form.fullname'}.
  '<font color="#999999">&nbsp; &nbsp;Username: '.$uname.'</font>'.   '<font color="#999999">&nbsp; &nbsp;Username: '.$uname.
  '<font color="#999999">&nbsp; &nbsp;Domain: '.$udom.'</font><br />'."\n";   ($ENV{'user.domain'} eq $udom ? '' : ' ('.$udom.')').'</font><br />'."\n";
   # '<font color="#999999">&nbsp; &nbsp;Domain: '.$udom.'</font><br />'."\n";
     $result.='<input type="hidden" name="name'.$counter.      $result.='<input type="hidden" name="name'.$counter.
  '" value="'.$ENV{'form.fullname'}.'" />'."\n";   '" value="'.$ENV{'form.fullname'}.'" />'."\n";
   
     # If this is handgraded, then check for collaborators      # If this is an essay-response part(handgraded), then check for collaborators
     my @col_fullnames;      my @col_fullnames;
     my ($classlist,$fullname);      my ($classlist,$fullname);
     if ($ENV{'form.handgrade'} eq 'yes') {      if ($ENV{'form.handgrade'} eq 'yes') {
Line 1321  KEYWORDS Line 1323  KEYWORDS
                             my ($oname,$odom,$ocrsid,$oessay,$osim)=&most_similar($uname,$udom,$subval);                              my ($oname,$odom,$ocrsid,$oessay,$osim)=&most_similar($uname,$udom,$subval);
                             if ($osim) {                              if ($osim) {
  $osim=int($osim*100.0);   $osim=int($osim*100.0);
  $similar='<hr /><h3><font color="#FF0000">Essay is '.$osim.'% similar to an essay by '.&Apache::loncommon::plainname($oname,$odom).   $similar='<hr /><h3><font color="#FF0000">Essay is '.$osim.
       '% similar to an essay by '.&Apache::loncommon::plainname($oname,$odom).
                                 '</font></h3><blockquote><i>'.                                  '</font></h3><blockquote><i>'.
                                 &keywords_highlight($oessay).'</i></blockquote><hr />';                                  &keywords_highlight($oessay).'</i></blockquote><hr />';
                             }                              }
Line 1331  KEYWORDS Line 1334  KEYWORDS
                                 ($record{"resource.$partid.$respid.uploadedurl"}?                                  ($record{"resource.$partid.$respid.uploadedurl"}?
                                 '<a href="'.                                  '<a href="'.
                                 &Apache::lonnet::tokenwrapper($record{"resource.$partid.$respid.uploadedurl"}).                                  &Apache::lonnet::tokenwrapper($record{"resource.$partid.$respid.uploadedurl"}).
    '"><img src="/adm/lonIcons/unknown.gif" border=0"> File uploaded by student</a> <font color="red" size="1">Like all files provided by users, this file may contain virusses</font><br />':'').   '"><img src="/adm/lonIcons/unknown.gif" border=0"> File uploaded by student</a> '.
    '<font color="red" size="1">Like all files provided by users, '.
    'this file may contain virusses</font><br />':'').
                                 '<b>Answer: </b><blockquote>'.                                  '<b>Answer: </b><blockquote>'.
  &keywords_highlight($subval).'</blockquote><br />&nbsp;'.$similar.'</td></tr>'."\n"   &keywords_highlight($subval).'</blockquote><br />&nbsp;'.$similar.'</td></tr>'."\n"
  if ($ENV{'form.lastSub'} eq 'lastonly' ||    if ($ENV{'form.lastSub'} eq 'lastonly' || 
Line 1352  KEYWORDS Line 1357  KEYWORDS
     }      }
           
     # return if view submission with no grading option      # return if view submission with no grading option
     if ($ENV{'form.showgrading'} eq '' || (!&canmodify($usec))) {  #    if ($ENV{'form.showgrading'} eq '' || (!&canmodify($usec))) {
       if (!&canmodify($usec)) {
  $request->print('</td></tr></table></td></tr></table></form>'."\n");   $request->print('</td></tr></table></td></tr></table></form>'."\n");
  $request->print(&show_grading_menu_form($symb,$url))    $request->print(&show_grading_menu_form($symb,$url)) 
     if (($ENV{'form.command'} eq 'submission') ||       if (($ENV{'form.command'} eq 'submission') || 
Line 1388  KEYWORDS Line 1394  KEYWORDS
  my ($partid,$respid) = split(/_/);   my ($partid,$respid) = split(/_/);
  next if ($seen{$partid} > 0);   next if ($seen{$partid} > 0);
  $seen{$partid}++;   $seen{$partid}++;
  next if ($$handgrade{$_} =~ /:no$/);  # next if ($$handgrade{$_} =~ /:no$/);
  push @partlist,$partid;   push @partlist,$partid;
   
  $request->print(&gradeBox($request,$symb,$uname,$udom,$counter,$partid,\%record));   $request->print(&gradeBox($request,$symb,$uname,$udom,$counter,$partid,\%record));
Line 1977  sub viewgrades { Line 1983  sub viewgrades {
     my (@parts) = sort(&getpartlist($url));      my (@parts) = sort(&getpartlist($url));
     foreach my $part (@parts) {      foreach my $part (@parts) {
  my $display=&Apache::lonnet::metadata($url,$part.'.display');   my $display=&Apache::lonnet::metadata($url,$part.'.display');
    next if ($display =~ /Number of Attempts/);
  if  (!$display) { $display = &Apache::lonnet::metadata($url,$part.'.name'); }   if  (!$display) { $display = &Apache::lonnet::metadata($url,$part.'.name'); }
  if ($display =~ /^Partial Credit Factor/) {   if ($display =~ /^Partial Credit Factor/) {
     my ($partid) = &split_part_type($part);      my ($partid) = &split_part_type($part);
Line 2007  sub viewgrades { Line 2014  sub viewgrades {
  'onClick="javascript:submit();" TARGET=_self /></form>'."\n";   'onClick="javascript:submit();" TARGET=_self /></form>'."\n";
     if (scalar(%$fullname) eq 0) {      if (scalar(%$fullname) eq 0) {
  my $colspan=3+scalar(@parts);   my $colspan=3+scalar(@parts);
  $result='<font color="red">There are no students in section "'.$ENV{'form.section'}.'" with enrollment status "'.$ENV{'form.Status'}.'" to modify or grade.</font>';   $result='<font color="red">There are no students in section "'.$ENV{'form.section'}.
       '" with enrollment status "'.$ENV{'form.Status'}.'" to modify or grade.</font>';
     }      }
     $result.=&show_grading_menu_form($symb,$url);      $result.=&show_grading_menu_form($symb,$url);
     return $result;      return $result;
Line 2047  sub viewstudentgrade { Line 2055  sub viewstudentgrade {
  if ($status eq 'excused');   if ($status eq 'excused');
     $result.=$optsel;      $result.=$optsel;
     $result.="</select></td>\n";      $result.="</select></td>\n";
  } else {  # } else {
     $result.='<input type="hidden" name="'.  #    $result.='<input type="hidden" name="'.
  'GD_'.$student.'_'.$part.'_'.$type.'_s" value="'.$score.'" />'.  # 'GD_'.$student.'_'.$part.'_'.$type.'_s" value="'.$score.'" />'.
     "\n";  #    "\n";
     $result.='<td align="middle"><input type="text" name="'.  #    $result.='<td align="middle"><input type="text" name="'.
  'GD_'.$student.'_'.$part.'_'.$type.'" '.  # 'GD_'.$student.'_'.$part.'_'.$type.'" '.
  'value="'.$score.'" size="4" /></td>'."\n";  # 'value="'.$score.'" size="4" /></td>'."\n";
  }   }
     }      }
     $result.='</tr>';      $result.='</tr>';
Line 2607  LISTJAVASCRIPT Line 2615  LISTJAVASCRIPT
     $result.='<input type="hidden" name="page" />'."\n".      $result.='<input type="hidden" name="page" />'."\n".
  '<input type="hidden" name="title" />'."\n";   '<input type="hidden" name="title" />'."\n";
   
     $result.='&nbsp;<b>View Problems: </b><input type="radio" name="vProb" value="no" checked /> no '."\n".      $result.='&nbsp;<b>View Problems Text: </b><input type="radio" name="vProb" value="no" checked /> no '."\n".
  '<input type="radio" name="vProb" value="yes" /> yes '."<br>\n";   '<input type="radio" name="vProb" value="yes" /> yes '."<br>\n";
   
     $result.='&nbsp;<b>Submission Details: </b>'.      $result.='&nbsp;<b>Submission Details: </b>'.
Line 2781  sub displayPage { Line 2789  sub displayPage {
     if ($ENV{'form.vProb'} eq 'yes') {      if ($ENV{'form.vProb'} eq 'yes') {
  $studentTable.=&show_problem($request,$symbx,$uname,$udom,1);   $studentTable.=&show_problem($request,$symbx,$uname,$udom,1);
     } else {      } else {
  my $companswer = &Apache::loncommon::get_student_answers(   my $companswer = &Apache::loncommon::get_student_answers($symbx,$uname,$udom,$ENV{'request.course.id'});
  $symbx,$uname,$udom,$ENV{'request.course.id'});  
  $companswer =~ s|<form(.*?)>||g;   $companswer =~ s|<form(.*?)>||g;
  $companswer =~ s|</form>||g;   $companswer =~ s|</form>||g;
   
 # while ($companswer =~ /(<a href\=\"javascript:newWindow.*?Script Vars<\/a>)/s) { #<a href="javascript:newWindow</a>  # while ($companswer =~ /(<a href\=\"javascript:newWindow.*?Script Vars<\/a>)/s) { #<a href="javascript:newWindow</a>
 #    $request->print('match='.$1.'<br>');  #    $companswer =~ s/$1/ /ms;
 #    $companswer =~ s/$1/ /s;  #    $request->print('match='.$1."<br>\n");
 # }  # }
 # $companswer =~ s/<table border=\"1\">/<table border=\"0\">/g;  # $companswer =~ s|<table border=\"1\">|<table border=\"0\">|g;
  $studentTable.='&nbsp;<b>'.$title.'</b>&nbsp;<br>&nbsp;<b>Correct answer:</b><br>'.$companswer;   $studentTable.='&nbsp;<b>'.$title.'</b>&nbsp;<br>&nbsp;<b>Correct answer:</b><br>'.$companswer;
     }      }
   
     my %record = &Apache::lonnet::restore($symbx,$ENV{'request.course.id'},$udom,$uname);      my %record = &Apache::lonnet::restore($symbx,$ENV{'request.course.id'},$udom,$uname);
   
     if ($ENV{'form.lastSub'} eq 'datesub') {      if ($ENV{'form.lastSub'} eq 'datesub') {
  if ($record{'version'} eq '') {   if ($record{'version'} eq '') {
     $studentTable.='<br />&nbsp;<font color="red">No recorded submission for this problem</font><br />';      $studentTable.='<br />&nbsp;<font color="red">No recorded submission for this problem</font><br />';
Line 2805  sub displayPage { Line 2810  sub displayPage {
  '<td><b>Date/Time</b></td>'.   '<td><b>Date/Time</b></td>'.
  '<td><b>Submission</b></td>'.   '<td><b>Submission</b></td>'.
  '<td><b>Status&nbsp;</b></td></tr>';   '<td><b>Status&nbsp;</b></td></tr>';
       my %responseType = ();
       foreach my $partid (@{$parts}) {
    $responseType{$partid} = $curRes->responseType($partid);
       }
     my ($version);      my ($version);
     for ($version=1;$version<=$record{'version'};$version++) {      for ($version=1;$version<=$record{'version'};$version++) {
  my $timestamp = scalar(localtime($record{$version.':timestamp'}));   my $timestamp = scalar(localtime($record{$version.':timestamp'}));
Line 2812  sub displayPage { Line 2821  sub displayPage {
  my @versionKeys = split(/\:/,$record{$version.':keys'});   my @versionKeys = split(/\:/,$record{$version.':keys'});
  my @displaySub = ();   my @displaySub = ();
  foreach my $partid (@{$parts}) {   foreach my $partid (@{$parts}) {
     my $responseType = $curRes->responseType($partid);  
     my @matchKey = grep /^resource\.$partid\..*?\.submission$/,@versionKeys;      my @matchKey = grep /^resource\.$partid\..*?\.submission$/,@versionKeys;
     next if ($record{"$version:resource.$partid.solved"} eq '');      next if ($record{"$version:resource.$partid.solved"} eq '');
 #    next if ($record{"$version:resource.$partid.award"} eq 'APPROX_ANS' &&   
 #     $record{"$version:resource.$partid.solved"} eq '');  
     $displaySub[0].=(exists $record{$version.':'.$matchKey[0]}) ?       $displaySub[0].=(exists $record{$version.':'.$matchKey[0]}) ? 
  '<b>Part&nbsp;'.$partid.'&nbsp;Type:'.$responseType.':endtype'.   '<b>Part&nbsp;'.$partid.'&nbsp;'.
  ($record{"$version:resource.$partid.tries"} eq '' ? 'Trial&nbsp;not&nbsp;counted' :   ($record{"$version:resource.$partid.tries"} eq '' ? 'Trial&nbsp;not&nbsp;counted' :
  'Trial&nbsp;'.$record{"$version:resource.$partid.tries"}).'</b>&nbsp; '.   'Trial&nbsp;'.$record{"$version:resource.$partid.tries"}).'</b>&nbsp; '.
  $record{$version.':'.$matchKey[0]}.'<br />' : '';   &cleanRecord($record{$version.':'.$matchKey[0]},$responseType{$partid}).'<br />' : '';
     $displaySub[1].=(exists $record{"$version:resource.$partid.award"}) ?      $displaySub[1].=(exists $record{"$version:resource.$partid.award"}) ?
  '<b>Part&nbsp;'.$partid.'</b> &nbsp;'.   '<b>Part&nbsp;'.$partid.'</b> &nbsp;'.
  $record{"$version:resource.$partid.award"}.'/'.   $record{"$version:resource.$partid.award"}.'/'.
Line 2868  sub displayPage { Line 2874  sub displayPage {
     return '';      return '';
 }  }
   
   sub cleanRecord {
       my ($answer,$response) = @_;
       if ($response eq 'option') {
    my (@IDs,@ans);
    foreach (split(/\&/,&Apache::lonnet::unescape($answer))) {
       my ($optionID,$ans) = split(/=/);
       push @IDs,$optionID.'</font>';
       push @ans,$ans;
    }
    my $grayFont = '<font color="#999999">';
    return '<table border="1">'.
       '<tr valign="top"><td>Answer</td><td>'.
       (join '</td><td>',@ans).'</td></tr>'.
       '<tr><td>'.$grayFont.'Option ID</font></td><td>'.$grayFont.
       (join '</td><td>'.$grayFont,@IDs).'</font></td></tr>'.
       '</table>';
       }
       return $answer;
   }
   
 sub updateGradeByPage {  sub updateGradeByPage {
     my ($request) = shift;      my ($request) = shift;
   
Line 3335  sub gradingmenu { Line 3361  sub gradingmenu {
   
     $request->print(<<GRADINGMENUJS);      $request->print(<<GRADINGMENUJS);
 <script type="text/javascript" language="javascript">  <script type="text/javascript" language="javascript">
     function checkChoice(formname) {      function checkChoice(formname,val,cmdx) {
  var cmd = formname.command;   if (val <= 2) {
  formname.saveState.value = "saveCmd="+radioSelection(cmd)+":saveSec="+pullDownSelection(formname.section)+      var cmd = radioSelection(formname.radioChoice);
    } else {
       cmd = cmdx;
    }
    formname.command.value = cmd;
    formname.saveState.value = "saveCmd="+cmd+":saveSec="+pullDownSelection(formname.section)+
     ":saveSub="+radioSelection(formname.submitonly)+":saveStatus="+pullDownSelection(formname.Status);      ":saveSub="+radioSelection(formname.submitonly)+":saveStatus="+pullDownSelection(formname.Status);
  if (cmd[0].checked || cmd[1].checked || cmd[2].checked || cmd[3].checked || cmd[4].checked) formname.submit();   if (val < 5) formname.submit();
  if (cmd[5].checked) {   if (val == 5) {
     if (!checkReceiptNo(formname,'notOK')) { return false;}      if (!checkReceiptNo(formname,'notOK')) { return false;}
     formname.submit();      formname.submit();
  }   }
Line 3357  sub gradingmenu { Line 3388  sub gradingmenu {
     formname.receipt.focus();      formname.receipt.focus();
     return false;      return false;
  }   }
  formname.command[5].checked = true;  
  return true;   return true;
     }      }
   
Line 3401  GRADINGMENUJS Line 3431  GRADINGMENUJS
  $resptype = $responsetype;   $resptype = $responsetype;
  $hdgrade = $handgrade if ($handgrade eq 'yes');   $hdgrade = $handgrade if ($handgrade eq 'yes');
  $result.='<tr><td><b>Part </b>'.(split(/_/))[0].'</td>'.   $result.='<tr><td><b>Part </b>'.(split(/_/))[0].'</td>'.
     '<td><b>Type: </b>'.$responsetype.'</td>'.      '<td><b>Type: </b>'.$responsetype.'</td></tr>';
     '<td><b>Handgrade: </b>'.$handgrade.'</font></td></tr>';  #    '<td><b>Handgrade: </b>'.$handgrade.'</font></td></tr>';
     }      }
     $result.='</table>'."\n";      $result.='</table>'."\n";
   
Line 3419  GRADINGMENUJS Line 3449  GRADINGMENUJS
  '<input type="hidden" name="response"    value="'.$resptype.'" />'."\n".   '<input type="hidden" name="response"    value="'.$resptype.'" />'."\n".
  '<input type="hidden" name="handgrade"   value="'.$hdgrade.'" />'."\n".   '<input type="hidden" name="handgrade"   value="'.$hdgrade.'" />'."\n".
  '<input type="hidden" name="probTitle"   value="'.$probTitle.'" />'."\n".   '<input type="hidden" name="probTitle"   value="'.$probTitle.'" />'."\n".
    '<input type="hidden" name="command"     value="" />'."\n".
  '<input type="hidden" name="saveState"   value="" />'."\n".   '<input type="hidden" name="saveState"   value="" />'."\n".
  '<input type="hidden" name="showgrading" value="yes" />'."\n";   '<input type="hidden" name="showgrading" value="yes" />'."\n";
   
     $result.='<table width=100% border=0><tr><td bgcolor=#777777>'."\n".      $result.='<table width="100%" border=0><tr><td bgcolor=#777777>'."\n".
  '<table width=100% border=0><tr bgcolor="#e6ffff"><td>'."\n".   '<table width=100% border=0><tr bgcolor="#e6ffff"><td colspan="2">'."\n".
  '&nbsp;<b>Select a Grading/Viewing Option</b></td></tr>'."\n".   '&nbsp;<b>Select a Grading/Viewing Option</b></td></tr>'."\n".
  '<tr bgcolor=#ffffe6><td>'."\n";   '<tr bgcolor="#ffffe6" valign="top"><td>'."\n";
   
     $result.='<table width=100% border=0>'.      $result.='<table width="100%" border=0>';
  '<tr bgcolor="#ffffe6" valign="top"><td colspan="2">'.      $result.='<tr bgcolor="#ffffe6" valign="top"><td>'."\n".
  '<input type="radio" name="command" value="pickStudentPage" '.   '&nbsp;Section: <select name="section">'."\n";
       if (ref($sections)) {
    foreach (sort (@$sections)) {$result.='<option value="'.$_.'" '.
    ($saveSec eq $_ ? 'selected="on"' : '').'>'.$_.'</option>'."\n";}
       }
       $result.= '<option value="all" '.($saveSec eq 'all' ? 'selected="on"' : ''). '>all</select> &nbsp; ';
   
       $result.='Student Status:</b>'.&Apache::lonhtmlcommon::StatusOptions($saveStatus,undef,1,undef);
   
       if (ref($sections)) {
    $result.='&nbsp;(Section "no" implies the students were not assigned a section.)<br />' 
       if (grep /no/,@$sections);
       }
       $result.='</td></tr>';
   
       $result.='<tr bgcolor="#ffffe6" valign="top"><td>'.
    '<input type="radio" name="radioChoice" value="pickStudentPage" '.
  ($saveCmd eq 'pickStudentPage' ? 'checked' : '').'> '.   ($saveCmd eq 'pickStudentPage' ? 'checked' : '').'> '.
  'Handgrade/View Submission for a student by page/sequence</td></tr>'."\n".   'One student for whole page/sequence/folder</td></tr>'."\n";
   
  '<tr bgcolor="#ffffe6"valign="top"><td colspan="2">'.      $result.='<tr bgcolor="#ffffe6"valign="top"><td>'.
  '<input type="radio" name="command" value="viewgrades" '.   '<input type="radio" name="radioChoice" value="viewgrades" '.
  ($saveCmd eq 'viewgrades' ? 'checked' : '').'> '.   ($saveCmd eq 'viewgrades' ? 'checked' : '').'> '.
  'Grade by section or class</td></tr>'."\n".   'All students in section/course for current resource</td></tr>'."\n";
   
  '<tr bgcolor="#ffffe6"valign="top"><td><input type="radio" name="command" value="submission" '.      $result.='<tr bgcolor="#ffffe6"valign="top"><td>'.
  ($saveCmd eq 'submission' ? 'checked' : '').'> '.   '<input type="radio" name="radioChoice" value="submission" '.
  ($hdgrade eq 'yes' ? 'View/Grade essay response of' : 'View').   ($saveCmd eq 'submission' ? 'checked' : '').'> '.'One or more students for current resource'.
  ' an individual student </td>'."\n".   '<br />&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;-->For students who has: '.
  '<td>-->&nbsp;For students who has: '.  
  '<input type="radio" name="submitonly" value="yes" '.   '<input type="radio" name="submitonly" value="yes" '.
  ($saveSub eq 'yes' ? 'checked' : '').' /> submitted'.   ($saveSub eq 'yes' ? 'checked' : '').' /> submitted'.
  '<input type="radio" name="submitonly" value="all" '.   '<input type="radio" name="submitonly" value="all" '.
  ($saveSub eq 'all' ? 'checked' : '').' /> everybody</td></tr>'."\n".   ($saveSub eq 'all' ? 'checked' : '').' /> everybody</td></tr>'."\n";
   
  '<tr bgcolor="#ffffe6"valign="top"><td colspan="2">'.      $result.='<tr bgcolor="#ffffe6"><td><br />'.
  '<input type="radio" name="command" value="csvform" '.   '<input type="button" onClick="javascript:checkChoice(this.form,\'2\');" value="View/Grade/Regrade" />'.
  ($saveCmd eq 'csvform' ? 'checked' : '').'> '.   '</td></tr></table>'."\n";
  'Upload scores from file</td></tr>'."\n";  
       $result.='</td><td valign="top">';
   
       $result.='<table width="100%" border=0>';
       $result.='<tr bgcolor="#ffffe6"><td>'.
    '<input type="button" onClick="javascript:checkChoice(this.form,\'3\',\'csvform\');" value="Upload" />'.
    ' scores from file </td></tr>'."\n";
   
     $result.='<tr bgcolor="#ffffe6"valign="top"><td colspan="2">'.      $result.='<tr bgcolor="#ffffe6"valign="top"><td colspan="2">'.
  '<input type="radio" name="command" value="scantron_selectphase" '.   '<input type="button" onClick="javascript:checkChoice(this.form,\'4\',\'scantron_selectphase\');'.
  ($saveCmd eq 'scantron_selectphase' ? 'checked="on"' : '').' /> '.   '" value="Grade" /> scantron forms</td></tr>'."\n";
         'Grade scantron forms</td></tr>'."\n";  
   
     if ((&Apache::lonnet::allowed('mgr',$ENV{'request.course.id'})) && ($symb)) {      if ((&Apache::lonnet::allowed('mgr',$ENV{'request.course.id'})) && ($symb)) {
  $result.='<tr bgcolor="#ffffe6"valign="top"><td>'.   $result.='<tr bgcolor="#ffffe6"valign="top"><td>'.
     '<input type="radio" name="command" value="verify" onChecked="javascript:this.form.receipt.focus()" '.      '<input type="button" onClick="javascript:checkChoice(this.form,\'5\',\'verify\');" value="Verify" />'.
     ($saveCmd eq 'verify' ? 'checked' : '').'> '.      ' submission Receipt no: '.unpack("%32C*",$Apache::lonnet::perlvar{'lonHostID'}).
     'Verify a submission receipt issued by this server</td>'.  
     '<td>-->&nbsp;Receipt no: '.unpack("%32C*",$Apache::lonnet::perlvar{'lonHostID'}).  
     '-<input type="text" name="receipt" size="4" onChange="javascript:checkReceiptNo(this.form,\'OK\')">'.      '-<input type="text" name="receipt" size="4" onChange="javascript:checkReceiptNo(this.form,\'OK\')">'.
     '</td></tr>'."\n";      '</td></tr>'."\n";
     }       } 
   
     $result.='<tr bgcolor="#ffffe6"valign="top"><td colspan="2"><br />'."\n".      $result.='</form></td></tr></table>'."\n".
  '&nbsp;Select section: <select name="section">'."\n";  
     if (ref($sections)) {  
  foreach (sort (@$sections)) {$result.='<option value="'.$_.'" '.  
  ($saveSec eq $_ ? 'selected="on"' : '').'>'.$_.'</option>'."\n";}  
     }  
     $result.= '<option value="all" '.($saveSec eq 'all' ? 'selected="on"' : ''). '>all</select> &nbsp; ';  
   
     $result.='Student Status:</b>'.&Apache::lonhtmlcommon::StatusOptions($saveStatus,undef,1,undef);  
     $result.=' &nbsp; <font color="red">(Applies to the first three options only.)</font>'."\n";  
   
     if (ref($sections)) {  
  $result.='&nbsp;(Section "no" implies the students were not assigned a section.)<br />'   
     if (grep /no/,@$sections);  
     }  
     $result.='</td></tr>';  
   
     $result.='<tr bgcolor="#ffffe6"><td colspan="2"><br />'.  
  '<input type="button" onClick="javascript:checkChoice(this.form);" value="View/Grade" />'."\n".  
  '</form></td></tr></table>'."\n".  
  '</td></tr></table>'."\n".   '</td></tr></table>'."\n".
  '</td></tr></table>'."\n";   '</td></tr></table>'."\n";
     return $result;      return $result;

Removed from v.1.115  
changed lines
  Added in v.1.116


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