MDL-50955 core: Reset lessons completion criteria if grade type is none
This commit is contained in:
@@ -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
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user