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 25 Feb 2009 17:35:32 -0000 @@ -427,6 +427,19 @@ if ($grades === 'reset') { $params['reset'] = true; $grades = NULL; + } else if (!empty($grades)) { + // Need to calculate raw grade (Note: $grades has many forms) + if (is_object($grades)) { + $grades = array($grades->userid => $grades); + } else if (array_key_exists('userid', $grades)) { + $grades = array($grades['userid'] => $grades); + } + foreach ($grades as $key => $grade) { + if (!is_array($grade)) { + $grades[$key] = $grade = (array) $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 25 Feb 2009 17:35:32 -0000 @@ -8,7 +8,7 @@ * @package lesson **/ -$module->version = 2008112600; // The current module version (Date: YYYYMMDDXX) +$module->version = 2008112601; // 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 25 Feb 2009 17:35:32 -0000 @@ -56,14 +56,6 @@ $result = $result && change_field_notnull($table, $field); } - if ($result && $oldversion < 2007072200) { - require_once($CFG->dirroot.'/mod/lesson/lib.php'); - // too much debug output - $db->debug = false; - lesson_update_grades(); - $db->debug = true; - } - //===== 1.9.0 upgrade line ======// if ($result && $oldversion < 2007072201) { @@ -81,6 +73,14 @@ } } + if ($result && $oldversion < 2008112601) { + require_once($CFG->dirroot.'/mod/lesson/lib.php'); + // too much debug output + $db->debug = false; + lesson_update_grades(); + $db->debug = true; + } + return $result; }