From 95c789fc1d5b786de4e3df4a5efff9bd6521fd2f Mon Sep 17 00:00:00 2001 From: Paul Holden Date: Fri, 3 Oct 2025 14:55:21 +0100 Subject: [PATCH] MDL-86810 completion: update module completion data correctly. Ensure we check the correct field to determine form value. --- course/modlib.php | 2 +- course/tests/courselib_test.php | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/course/modlib.php b/course/modlib.php index abb3eb05648..42ac880ffd1 100644 --- a/course/modlib.php +++ b/course/modlib.php @@ -625,7 +625,7 @@ function update_moduleinfo($cm, $moduleinfo, $course, $mform = null) { if (!empty($moduleinfo->completionunlocked)) { $cm->completion = $moduleinfo->completion; $cm->completionpassgrade = $moduleinfo->completionpassgrade ?? 0; - if ($moduleinfo->completiongradeitemnumber === '') { + if (empty($moduleinfo->completionusegrade)) { $cm->completiongradeitemnumber = null; } else { $cm->completiongradeitemnumber = $moduleinfo->completiongradeitemnumber; diff --git a/course/tests/courselib_test.php b/course/tests/courselib_test.php index 8569fdb881a..7fcedd13544 100644 --- a/course/tests/courselib_test.php +++ b/course/tests/courselib_test.php @@ -550,6 +550,7 @@ final class courselib_test extends advanced_testcase { // Completion common to all module. $moduleinfo->completion = COMPLETION_TRACKING_AUTOMATIC; $moduleinfo->completionview = COMPLETION_VIEW_REQUIRED; + $moduleinfo->completionusegrade = 1; $moduleinfo->completiongradeitemnumber = 1; $moduleinfo->completionpassgrade = 0; $moduleinfo->completionexpected = time() + (7 * 24 * 3600);