diff --git a/backup/moodle2/backup_stepslib.php b/backup/moodle2/backup_stepslib.php index 9f87ba4bdef..d17b0da0ddb 100644 --- a/backup/moodle2/backup_stepslib.php +++ b/backup/moodle2/backup_stepslib.php @@ -391,6 +391,8 @@ class backup_course_structure_step extends backup_structure_step { 'defaultgroupingid', 'lang', 'theme', 'timecreated', 'timemodified', 'requested', + 'showactivitydates', + 'showcompletionconditions', 'enablecompletion', 'completionstartonenrol', 'completionnotify')); $category = new backup_nested_element('category', array('id'), array( diff --git a/backup/moodle2/restore_stepslib.php b/backup/moodle2/restore_stepslib.php index abbc17983d2..9e570e18ca0 100644 --- a/backup/moodle2/restore_stepslib.php +++ b/backup/moodle2/restore_stepslib.php @@ -1915,11 +1915,23 @@ class restore_course_structure_step extends restore_structure_step { if ($data->defaultgroupingid) { $data->defaultgroupingid = $this->get_mappingid('grouping', $data->defaultgroupingid); } + + $courseconfig = get_config('moodlecourse'); + if (empty($CFG->enablecompletion)) { + // Completion is disabled globally. $data->enablecompletion = 0; $data->completionstartonenrol = 0; $data->completionnotify = 0; + $data->showcompletionconditions = null; + } else { + $showcompletionconditionsdefault = ($courseconfig->showcompletionconditions ?? null); + $data->showcompletionconditions = $data->showcompletionconditions ?? $showcompletionconditionsdefault; } + + $showactivitydatesdefault = ($courseconfig->showactivitydates ?? null); + $data->showactivitydates = $data->showactivitydates ?? $showactivitydatesdefault; + $languages = get_string_manager()->get_list_of_translations(); // Get languages for quick search if (isset($data->lang) && !array_key_exists($data->lang, $languages)) { $data->lang = '';