From b3de95afb4a03f783f1c73c8c456d056c873ddc7 Mon Sep 17 00:00:00 2001 From: Damyon Wiese Date: Tue, 18 Sep 2012 10:20:53 +0800 Subject: [PATCH] MDL-35337: Fixes for restoring a course backup with no data for teamassignments and extensionsdates --- .../backup/moodle2/restore_assign_stepslib.php | 14 +++++++++++--- mod/assign/locallib.php | 1 + 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/mod/assign/backup/moodle2/restore_assign_stepslib.php b/mod/assign/backup/moodle2/restore_assign_stepslib.php index 890c64dc37b..6053447d03b 100644 --- a/mod/assign/backup/moodle2/restore_assign_stepslib.php +++ b/mod/assign/backup/moodle2/restore_assign_stepslib.php @@ -73,8 +73,10 @@ class restore_assign_activity_structure_step extends restore_activity_structure_ $data->timemodified = $this->apply_date_offset($data->timemodified); $data->allowsubmissionsfromdate = $this->apply_date_offset($data->allowsubmissionsfromdate); $data->duedate = $this->apply_date_offset($data->duedate); - if ($data->teamsubmissiongroupingid > 0) { + if (!empty($data->teamsubmissiongroupingid)) { $data->teamsubmissiongroupingid = $this->get_mappingid('grouping', $data->teamsubmissiongroupingid); + } else { + $data->teamsubmissiongroupingid = 0; } if (!isset($data->cutoffdate)) { @@ -111,8 +113,10 @@ class restore_assign_activity_structure_step extends restore_activity_structure_ if ($data->userid > 0) { $data->userid = $this->get_mappingid('user', $data->userid); } - if ($data->groupid > 0) { + if (!empty($data->groupid)) { $data->groupid = $this->get_mappingid('group', $data->groupid); + } else { + $data->groupid = 0; } $newitemid = $DB->insert_record('assign_submission', $data); @@ -139,7 +143,11 @@ class restore_assign_activity_structure_step extends restore_activity_structure_ $data->timecreated = $this->apply_date_offset($data->timecreated); $data->userid = $this->get_mappingid('user', $data->userid); $data->grader = $this->get_mappingid('user', $data->grader); - $data->extensionduedate = $this->apply_date_offset($data->extensionduedate); + if (!empty($data->extensionduedate)) { + $data->extensionduedate = $this->apply_date_offset($data->extensionduedate); + } else { + $data->extensionduedate = 0; + } $newitemid = $DB->insert_record('assign_grades', $data); diff --git a/mod/assign/locallib.php b/mod/assign/locallib.php index 277b05beaf1..9fc81ba8ee6 100644 --- a/mod/assign/locallib.php +++ b/mod/assign/locallib.php @@ -1957,6 +1957,7 @@ class assign { $grade->locked = 0; $grade->grade = -1; $grade->grader = $USER->id; + $grade->extensionduedate = 0; $gid = $DB->insert_record('assign_grades', $grade); $grade->id = $gid; return $grade;