diff --git a/grade/report/grader/lib.php b/grade/report/grader/lib.php index 08c1588c8df..d5f93b63b1a 100644 --- a/grade/report/grader/lib.php +++ b/grade/report/grader/lib.php @@ -199,6 +199,20 @@ class grade_report_grader extends grade_report { $finalgrade = unformat_float($postedvalue); } + // Warn if the grade is out of bounds. + $errorstr = ''; + if ($finalgrade < $grade_item->grademax) { + $errorstr = 'lessthanmin'; + } else if ($finalgrade > $grade_item->grademax) { + $errorstr = 'morethanmax'; + } + if ($errorstr) { + $user = get_record('user', 'id', $userid,'','','','','id, firstname, lastname'); + $gradestr->username = fullname($user); + $gradestr->itemname = $grade_item->get_name(); + notify(get_string($errorstr, 'grades', $gradestr)); + } + } else if ($data_type == 'feedback') { $finalgrade = false; $trimmed = trim($postedvalue); diff --git a/lib/grade/grade_item.php b/lib/grade/grade_item.php index e8d531d6dd5..2794ff4134e 100644 --- a/lib/grade/grade_item.php +++ b/lib/grade/grade_item.php @@ -1366,18 +1366,6 @@ class grade_item extends grade_object { if (is_null($finalgrade)) { $grade->finalgrade = null; } else { - // MDL-12517, warn user if grade is out of bounds - if ($finalgrade < $this->grademin) { - $user = get_record('user', 'id', $grade->userid,'','','','','id, firstname, lastname'); - $gradestr->username = fullname($user); - $gradestr->itemname = $this->get_name(); - notify(get_string('lessthanmin', 'grades', $gradestr)); - } else if ($finalgrade > $this->grademax) { - $user = get_record('user', 'id', $grade->userid,'','','','','id, firstname, lastname'); - $gradestr->username = fullname($user); - $gradestr->itemname = $this->get_name(); - notify(get_string('morethanmax', 'grades', $gradestr)); - } $grade->finalgrade = (float)bounded_number($this->grademin, $finalgrade, $this->grademax); } }