MDL-10226 fixed breakage in grade computing

This commit is contained in:
skodak
2007-07-08 15:03:46 +00:00
parent b82caceafe
commit 15b462da4b
2 changed files with 3 additions and 12 deletions
+1 -1
View File
@@ -819,7 +819,7 @@ class grade_category extends grade_object {
$this->depth = null; // remove old path and depth - will be recalculated in update()
$this->update($source);
return $grade_item->update($source);
return $this->update($source);
}
/**
+2 -11
View File
@@ -1255,16 +1255,13 @@ class grade_item extends grade_object {
$grade->grade_item =& $this;
} else {
$grade = new grade_grades(array('itemid'=>$this->id, 'userid'=>$userid, 'rawgrademin'=>null, 'rawgrademax'=>null, 'rawscaledi'=>null), false);
$grade = new grade_grades(array('itemid'=>$this->id, 'userid'=>$userid), false);
$grade->insert('system');
$grade->grade_item =& $this;
$oldgrade = new object();
$oldgrade->finalgrade = $grade->finalgrade;
$oldgrade->rawgrade = $grade->rawgrade;
$oldgrade->rawgrademin = $grade->rawgrademin;
$oldgrade->rawgrademax = $grade->rawgrademax;
$oldgrade->rawscaleid = $grade->rawscaleid;
}
// no need to recalculate locked grades
@@ -1277,9 +1274,6 @@ class grade_item extends grade_object {
$result = $this->formula->evaluate();
// no raw grade for calculated grades - only final
$grade->rawgrademin = null;
$grade->rawgrademax = null;
$grade->rawscaleid = null;
$grade->rawgrade = null;
@@ -1297,10 +1291,7 @@ class grade_item extends grade_object {
// update in db if changed
if ( $grade->finalgrade !== $oldgrade->finalgrade
or $grade->rawgrade !== $oldgrade->rawgrade
or $grade->rawgrademin !== $oldgrade->rawgrademin
or $grade->rawgrademax !== $oldgrade->rawgrademax
or $grade->rawscaleid !== $oldgrade->rawscaleid) {
or $grade->rawgrade !== $oldgrade->rawgrade) {
$grade->update('system');
}