[LON-CAPA-cvs] cvs: loncom /homework grades.pm
bowersj2
lon-capa-cvs@mail.lon-capa.org
Sun, 09 Apr 2006 20:53:28 -0000
bowersj2 Sun Apr 9 16:53:28 2006 EDT
Modified files:
/loncom/homework grades.pm
Log:
Fix bug 3893 by offering a choice of grading increments.
Index: loncom/homework/grades.pm
diff -u loncom/homework/grades.pm:1.347 loncom/homework/grades.pm:1.348
--- loncom/homework/grades.pm:1.347 Mon Apr 3 16:45:38 2006
+++ loncom/homework/grades.pm Sun Apr 9 16:53:27 2006
@@ -1,7 +1,7 @@
# The LearningOnline Network with CAPA
# The LON-CAPA Grading handler
#
-# $Id: grades.pm,v 1.347 2006/04/03 20:45:38 banghart Exp $
+# $Id: grades.pm,v 1.348 2006/04/09 20:53:27 bowersj2 Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -722,7 +722,14 @@
$gradeTable.='<label><input type="radio" name="lastSub" value="lastonly" '.$checklastsub.' /> last submission only </label>'."\n".
'<label><input type="radio" name="lastSub" value="last" /> last submission & parts info </label>'."\n".
'<label><input type="radio" name="lastSub" value="datesub" /> by dates and submissions </label>'."\n".
- '<label><input type="radio" name="lastSub" value="all" /> all details</label>'."\n".
+ '<label><input type="radio" name="lastSub" value="all" /> all details</label><br />'."\n".
+ ' <b>Grading Increments:</b> <select name="increment">'.
+ '<option value="1">Whole Points</option>'.
+ '<option value=".5">Half Points</option>'.
+ '<option value=".25">Quarter Points</options>'.
+ '<option values=".1">Tenths of a Point</option>'.
+ '</select>'.
+
'<input type="hidden" name="section" value="'.$getsec.'" />'."\n".
'<input type="hidden" name="submitonly" value="'.$submitonly.'" />'."\n".
'<input type="hidden" name="handgrade" value="'.$env{'form.handgrade'}.'" /><br />'."\n".
@@ -1436,6 +1443,16 @@
SUBJAVASCRIPT
}
+sub getIncrement
+{
+ my $increment = $env{'form.increment'};
+ if ($increment != 1 && $increment != .5 && $increment != .25 &&
+ $increment != .1) {
+ $increment = 1;
+ }
+ return $increment;
+}
+
#--- displays the grading box, used in essay type problem and grading by page/sequence
sub gradeBox {
my ($request,$symb,$uname,$udom,$counter,$partid,$record) = @_;
@@ -1458,13 +1475,16 @@
$result.='<table border="0"><tr><td>'.
'<b>Part: </b>'.$display_part.' <b>Points: </b></td><td>'."\n";
my $ctr = 0;
+ my $thisweight = 0;
+ my $increment = getIncrement();
$result.='<table border="0"><tr>'."\n"; # display radio buttons in a nice table 10 across
- while ($ctr<=$wgt) {
+ while ($thisweight<=$wgt) {
$result.= '<td><nobr><label><input type="radio" name="RADVAL'.$counter.'_'.$partid.'" '.
'onclick="javascript:writeBox(this.form,\''.$counter.'_'.$partid.'\','.
- $ctr.')" value="'.$ctr.'" '.
- ($score eq $ctr ? 'checked':'').' /> '.$ctr."</label></nobr></td>\n";
+ $thisweight.')" value="'.$thisweight.'" '.
+ ($score eq $thisweight ? 'checked':'').' /> '.$thisweight."</label></nobr></td>\n";
$result.=(($ctr+1)%10 == 0 ? '</tr><tr>' : '');
+ $thisweight += $increment;
$ctr++;
}
$result.='</tr></table>';
@@ -1995,6 +2015,8 @@
'<input type="button" value="Next" '.
'onClick="javascript:checksubmit(this.form,\'Next\');" TARGET=_self> ';
$endform.='(Next and Previous (student) do not save the scores.)'."\n" ;
+ $endform.="<input type='hidden' value='" . getIncrement() .
+ "' name='increment' />";
$endform.='</td><tr></table></form>';
$endform.=&show_grading_menu_form($symb);
$request->print($endform);