MDL-52206 core: Add completion criteria to course_modules

This commit is contained in:
Peter
2021-10-04 19:44:02 +08:00
committed by Peter Dias
parent 663137748e
commit 90acd8d381
19 changed files with 113 additions and 17 deletions
+5 -2
View File
@@ -383,6 +383,8 @@ class manager {
$data['completiongradeitemnumber'] = !empty($data['completionusegrade']) ? 0 : null;
unset($data['completionusegrade']);
} else {
// Completion grade item number is classified in mod_edit forms as 'use grade'.
$data['completionusegrade'] = is_null($cm->completiongradeitemnumber) ? 0 : 1;
$data['completiongradeitemnumber'] = $cm->completiongradeitemnumber;
}
@@ -422,7 +424,8 @@ class manager {
'completion' => COMPLETION_DISABLED,
'completionview' => COMPLETION_VIEW_NOT_REQUIRED,
'completionexpected' => 0,
'completionusegrade' => 0
'completionusegrade' => 0,
'completionpassgrade' => 0
];
$data = (array)$data;
@@ -479,7 +482,7 @@ class manager {
public static function get_default_completion($course, $module, $flatten = true) {
global $DB, $CFG;
if ($data = $DB->get_record('course_completion_defaults', ['course' => $course->id, 'module' => $module->id],
'completion, completionview, completionexpected, completionusegrade, customrules')) {
'completion, completionview, completionexpected, completionusegrade, completionpassgrade, customrules')) {
if ($data->customrules && ($customrules = @json_decode($data->customrules, true))) {
if ($flatten) {
foreach ($customrules as $key => $value) {