MDL-33455 restore: process grade_grades only if user matches.

Note this has been applied both to individual activities grade_grades
and to general ones.
This commit is contained in:
Eloy Lafuente (stronk7)
2012-06-11 11:15:05 +08:00
committed by Aparup Banerjee
parent 34025ea1c2
commit 294e7ff363
+22 -15
View File
@@ -206,13 +206,13 @@ class restore_gradebook_structure_step extends restore_structure_step {
global $DB;
$data = (object)$data;
$oldid = $data->id;
$olduserid = $data->userid;
$data->itemid = $this->get_new_parentid('grade_item');
$data->userid = $this->get_mappingid('user', $data->userid, NULL);
if (!is_null($data->userid)) {
$data->usermodified = $this->get_mappingid('user', $data->usermodified, NULL);
$data->userid = $this->get_mappingid('user', $data->userid, null);
if (!empty($data->userid)) {
$data->usermodified = $this->get_mappingid('user', $data->usermodified, null);
$data->locktime = $this->apply_date_offset($data->locktime);
// TODO: Ask, all the rest of locktime/exported... work with time... to be rolled?
$data->overridden = $this->apply_date_offset($data->overridden);
@@ -221,9 +221,10 @@ class restore_gradebook_structure_step extends restore_structure_step {
$newitemid = $DB->insert_record('grade_grades', $data);
} else {
debugging("Mapped user id not found for grade item id '{$data->itemid}'");
debugging("Mapped user id not found for user id '{$olduserid}', grade item id '{$data->itemid}'");
}
}
protected function process_grade_category($data) {
global $DB;
@@ -2043,18 +2044,24 @@ class restore_activity_grades_structure_step extends restore_structure_step {
protected function process_grade_grade($data) {
$data = (object)($data);
$olduserid = $data->userid;
unset($data->id);
$data->itemid = $this->get_new_parentid('grade_item');
$data->userid = $this->get_mappingid('user', $data->userid);
$data->usermodified = $this->get_mappingid('user', $data->usermodified);
$data->rawscaleid = $this->get_mappingid('scale', $data->rawscaleid);
// TODO: Ask, all the rest of locktime/exported... work with time... to be rolled?
$data->overridden = $this->apply_date_offset($data->overridden);
$grade = new grade_grade($data, false);
$grade->insert('restore');
// no need to save any grade_grade mapping
$data->itemid = $this->get_new_parentid('grade_item');
$data->userid = $this->get_mappingid('user', $data->userid, null);
if (!empty($data->userid)) {
$data->usermodified = $this->get_mappingid('user', $data->usermodified, null);
$data->rawscaleid = $this->get_mappingid('scale', $data->rawscaleid);
// TODO: Ask, all the rest of locktime/exported... work with time... to be rolled?
$data->overridden = $this->apply_date_offset($data->overridden);
$grade = new grade_grade($data, false);
$grade->insert('restore');
// no need to save any grade_grade mapping
} else {
debugging("Mapped user id not found for user id '{$olduserid}', grade item id '{$data->itemid}'");
}
}
/**