Index: mod/lesson/lib.php =================================================================== RCS file: /cvsroot/moodle/moodle/mod/lesson/lib.php,v retrieving revision 1.41.2.7 diff -u -r1.41.2.7 lib.php --- mod/lesson/lib.php 9 Jan 2009 06:16:52 -0000 1.41.2.7 +++ mod/lesson/lib.php 24 Feb 2009 18:43:59 -0000 @@ -427,6 +427,11 @@ if ($grades === 'reset') { $params['reset'] = true; $grades = NULL; + } else { + // Need to calculate raw grade + foreach ($grades as $key => $grade) { + $grades[$key]->rawgrade = ($grade->rawgrade * $lesson->grade / 100); + } } return grade_update('mod/lesson', $lesson->course, 'mod', 'lesson', $lesson->id, 0, $grades, $params); Index: mod/lesson/version.php =================================================================== RCS file: /cvsroot/moodle/moodle/mod/lesson/version.php,v retrieving revision 1.39.2.3 diff -u -r1.39.2.3 version.php --- mod/lesson/version.php 26 Nov 2008 14:30:23 -0000 1.39.2.3 +++ mod/lesson/version.php 24 Feb 2009 18:43:59 -0000 @@ -8,7 +8,7 @@ * @package lesson **/ -$module->version = 2008112600; // The current module version (Date: YYYYMMDDXX) +$module->version = 2009022400; // The current module version (Date: YYYYMMDDXX) $module->requires = 2007101509; // Requires this Moodle version $module->cron = 0; // Period for cron to check this module (secs) Index: mod/lesson/db/upgrade.php =================================================================== RCS file: /cvsroot/moodle/moodle/mod/lesson/db/upgrade.php,v retrieving revision 1.9.2.2 diff -u -r1.9.2.2 upgrade.php --- mod/lesson/db/upgrade.php 1 May 2008 20:52:57 -0000 1.9.2.2 +++ mod/lesson/db/upgrade.php 24 Feb 2009 18:43:59 -0000 @@ -81,6 +81,15 @@ } } + if ($result && $oldversion < 2009022400) { + // Lesson was sending incorrect grade information, update with correct information + require_once($CFG->dirroot.'/mod/lesson/lib.php'); + // too much debug output + $db->debug = false; + lesson_update_grades(); + $db->debug = true; + } + return $result; }