MDL-41446 Completion: Incorrectly marks complete when grade data present with no actual grade

This commit is contained in:
sam marshall
2013-09-06 13:03:28 +01:00
parent e78a2d0e44
commit 2d124e8f4e
+4 -1
View File
@@ -1195,9 +1195,12 @@ class completion_info {
* @return int Completion state e.g. COMPLETION_INCOMPLETE
*/
public static function internal_get_grade_state($item, $grade) {
if (!$grade) {
// If no grade is supplied or the grade doesn't have an actual value, then
// this is not complete.
if (!$grade || (is_null($grade->finalgrade) && is_null($grade->rawgrade))) {
return COMPLETION_INCOMPLETE;
}
// Conditions to show pass/fail:
// a) Grade has pass mark (default is 0.00000 which is boolean true so be careful)
// b) Grade is visible (neither hidden nor hidden-until)