MDL-86342 mod_assign: Allow subplugins to backup data at activity-level

This commit is contained in:
Martin Gauk
2026-01-06 11:29:40 +01:00
parent 8316779bd9
commit 096512f52c
2 changed files with 11 additions and 1 deletions
@@ -162,6 +162,10 @@ class backup_assign_activity_structure_step extends backup_activity_structure_st
$pluginconfig->set_source_table('assign_plugin_config',
array('assignment' => backup::VAR_PARENTID));
// Allow subplugins to backup data at assign level.
$this->add_subplugin_structure('assignsubmission', $assign, true);
$this->add_subplugin_structure('assignfeedback', $assign, true);
// Assign overrides to backup are different depending of user info.
$overrideparams = array('assignid' => backup::VAR_PARENTID);
@@ -53,7 +53,13 @@ class restore_assign_activity_structure_step extends restore_activity_structure_
$userinfo = $this->get_setting_value('userinfo');
// Define each element separated.
$paths[] = new restore_path_element('assign', '/activity/assign');
$assign = new restore_path_element('assign', '/activity/assign');
$paths[] = $assign;
// Allow subplugins to restore data at assign level.
$this->add_subplugin_structure('assignsubmission', $assign);
$this->add_subplugin_structure('assignfeedback', $assign);
if ($userinfo) {
$submission = new restore_path_element('assign_submission',
'/activity/assign/submissions/submission');