diff --git a/mod/assign/feedback/offline/importgradesform.php b/mod/assign/feedback/offline/importgradesform.php index b71bd5402f3..5400fcfeec4 100644 --- a/mod/assign/feedback/offline/importgradesform.php +++ b/mod/assign/feedback/offline/importgradesform.php @@ -67,9 +67,8 @@ class assignfeedback_offline_import_grades_form extends moodleform implements re $scaleoptions = null; if ($assignment->get_instance()->grade < 0) { - $scale = $DB->get_record('scale', array('id'=>-($assignment->get_instance()->grade))); - if ($scale) { - $scaleoptions = explode(',', $scale->scale); + if ($scale = $DB->get_record('scale', array('id'=>-($assignment->get_instance()->grade)))) { + $scaleoptions = make_menu_from_list($scale->scale); } } if (!$gradeimporter->init()) { @@ -104,7 +103,7 @@ class assignfeedback_offline_import_grades_form extends moodleform implements re // This is a scale - we need to convert any grades to indexes in the scale. $scaleindex = array_search($grade, $scaleoptions); if ($scaleindex !== false) { - $grade = $scaleindex + 1; + $grade = $scaleindex; } else { $grade = ''; } @@ -132,8 +131,13 @@ class assignfeedback_offline_import_grades_form extends moodleform implements re if (!$skip) { $update = true; + if (!empty($scaleoptions)) { + $formattedgrade = $scaleoptions[$grade]; + } else { + $formattedgrade = format_float($grade, 2); + } $updates[] = get_string('gradeupdate', 'assignfeedback_offline', - array('grade'=>format_float($grade, 2), 'student'=>$userdesc)); + array('grade'=>$formattedgrade, 'student'=>$userdesc)); } if ($ignoremodified || !$stalemodificationdate) { diff --git a/mod/assign/feedback/offline/locallib.php b/mod/assign/feedback/offline/locallib.php index 1a5838b900d..143d08d8317 100644 --- a/mod/assign/feedback/offline/locallib.php +++ b/mod/assign/feedback/offline/locallib.php @@ -107,9 +107,8 @@ class assign_feedback_offline extends assign_feedback_plugin { // Does this assignment use a scale? $scaleoptions = null; if ($this->assignment->get_instance()->grade < 0) { - $scale = $DB->get_record('scale', array('id'=>-($this->assignment->get_instance()->grade))); - if ($scale) { - $scaleoptions = explode(',', $scale->scale); + if ($scale = $DB->get_record('scale', array('id'=>-($this->assignment->get_instance()->grade)))) { + $scaleoptions = make_menu_from_list($scale->scale); } } // We may need to upgrade the gradebook comments after this update. @@ -127,7 +126,7 @@ class assign_feedback_offline extends assign_feedback_plugin { // This is a scale - we need to convert any grades to indexes in the scale. $scaleindex = array_search($record->grade, $scaleoptions); if ($scaleindex !== false) { - $record->grade = $scaleindex + 1; + $record->grade = $scaleindex; } else { $record->grade = ''; }