MDL-43071 assign: Fix offline grades import for scale grading.

This commit is contained in:
Ruslan Kabalin
2013-11-26 16:44:41 +00:00
parent ca3b210680
commit d149d894a0
2 changed files with 12 additions and 9 deletions
@@ -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) {
+3 -4
View File
@@ -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 = '';
}