MDL-50955 core: Reset lessons completion criteria if grade type is none

This commit is contained in:
Peter Dias
2020-11-16 15:12:34 +08:00
parent d330035f11
commit 8e3031aed0
2 changed files with 19 additions and 1 deletions
+18
View File
@@ -2994,5 +2994,23 @@ function xmldb_main_upgrade($oldversion) {
upgrade_main_savepoint(true, 2021052500.36);
}
if ($oldversion < 2021052500.42) {
// Get all lessons that are set with a completion criteria of 'requires grade' but with no grade type set.
$sql = "SELECT cm.id
FROM {course_modules} cm
JOIN {lesson} l ON l.id = cm.instance
JOIN {modules} m ON m.id = cm.module
WHERE m.name = :name AND cm.completiongradeitemnumber IS NOT NULL AND l.grade = :grade";
do {
if ($invalidconfigrations = $DB->get_records_sql($sql, ['name' => 'lesson', 'grade' => 0], 0, 1000)) {
list($insql, $inparams) = $DB->get_in_or_equal(array_keys($invalidconfigrations), SQL_PARAMS_NAMED);
$DB->set_field_select('course_modules', 'completiongradeitemnumber', null, "id $insql", $inparams);
}
} while ($invalidconfigrations);
upgrade_main_savepoint(true, 2021052500.42);
}
return true;
}
+1 -1
View File
@@ -29,7 +29,7 @@
defined('MOODLE_INTERNAL') || die();
$version = 2021052500.41; // YYYYMMDD = weekly release date of this DEV branch.
$version = 2021052500.42; // YYYYMMDD = weekly release date of this DEV branch.
// RR = release increments - 00 in DEV branches.
// .XX = incremental changes.
$release = '4.0dev (Build: 20201107)'; // Human-friendly version name