Skip to content

Commit

Permalink
Merge branch 'master-mdl43020' of https://github.com/tlock/moodle
Browse files Browse the repository at this point in the history
  • Loading branch information
danpoltawski committed Dec 3, 2013
2 parents a9d04b9 + 16c2575 commit 9c25a18
Showing 1 changed file with 17 additions and 1 deletion.
18 changes: 17 additions & 1 deletion mod/lesson/lib.php
Expand Up @@ -468,6 +468,22 @@ function lesson_grade_item_update($lesson, $grades=null) {
} else if ($lesson->grade < 0) {
$params['gradetype'] = GRADE_TYPE_SCALE;
$params['scaleid'] = -$lesson->grade;

// Make sure current grade fetched correctly from $grades
$currentgrade = null;
if (!empty($grades)) {
if (is_array($grades)) {
$currentgrade = reset($grades);
} else {
$currentgrade = $grades;
}
}

// When converting a score to a scale, use scale's grade maximum to calculate it.
if (!empty($currentgrade) && $currentgrade->rawgrade !== null) {
$grade = grade_get_grades($lesson->course, 'mod', 'lesson', $lesson->id, $currentgrade->userid);
$params['grademax'] = reset($grade->items)->grademax;
}
} else {
$params['gradetype'] = GRADE_TYPE_NONE;
}
Expand All @@ -488,7 +504,7 @@ function lesson_grade_item_update($lesson, $grades=null) {
}
//check raw grade isnt null otherwise we erroneously insert a grade of 0
if ($grade['rawgrade'] !== null) {
$grades[$key]['rawgrade'] = ($grade['rawgrade'] * $lesson->grade / 100);
$grades[$key]['rawgrade'] = ($grade['rawgrade'] * $params['grademax'] / 100);
} else {
//setting rawgrade to null just in case user is deleting a grade
$grades[$key]['rawgrade'] = null;
Expand Down

0 comments on commit 9c25a18

Please sign in to comment.