From 465b75ed1fec0675636b03c996db5f7c79e252e4 Mon Sep 17 00:00:00 2001 From: John Okely Date: Fri, 18 Aug 2017 14:15:37 +0800 Subject: [PATCH] MDL-56646 assign: Fix negative grades in restore --- mod/assign/backup/moodle2/restore_assign_stepslib.php | 5 ++++- mod/assign/locallib.php | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/mod/assign/backup/moodle2/restore_assign_stepslib.php b/mod/assign/backup/moodle2/restore_assign_stepslib.php index 981ad27d132..014651918fc 100644 --- a/mod/assign/backup/moodle2/restore_assign_stepslib.php +++ b/mod/assign/backup/moodle2/restore_assign_stepslib.php @@ -240,7 +240,10 @@ class restore_assign_activity_structure_step extends restore_activity_structure_ $flags->userid = $this->get_mappingid('user', $data->userid); $DB->insert_record('assign_user_flags', $flags); } - + // Fix null grades that were rescaled. + if ($data->grade < 0 && $data->grade != ASSIGN_GRADE_NOT_SET) { + $data->grade = ASSIGN_GRADE_NOT_SET; + } $newitemid = $DB->insert_record('assign_grades', $data); // Note - the old contextid is required in order to be able to restore files stored in diff --git a/mod/assign/locallib.php b/mod/assign/locallib.php index e8ca9477cde..14103ad1322 100644 --- a/mod/assign/locallib.php +++ b/mod/assign/locallib.php @@ -8612,7 +8612,7 @@ class assign { // Fix the grades. $this->fix_null_grades(); - set_config('has_rescaled_null_grades_' . $instance->id, 0, 'assign'); + unset_config('has_rescaled_null_grades_' . $instance->id, 'assign'); // Display the notice. $o .= $this->get_renderer()->notification(get_string('fixrescalednullgradesdone', 'assign'), 'notifysuccess');