Merge branch 'MDL-46651-master-restore-course-completion-duplicate-key' of https://github.com/Trii/moodle

This commit is contained in:
Dan Poltawski
2014-12-16 11:58:53 +00:00
+15 -1
View File
@@ -2630,7 +2630,21 @@ class restore_course_completion_structure_step extends restore_structure_step {
'timecompleted' => $this->apply_date_offset($data->timecompleted),
'reaggregate' => $data->reaggregate
);
$DB->insert_record('course_completions', $params);
$existing = $DB->get_record('course_completions', array(
'userid' => $data->userid,
'course' => $data->course
));
// MDL-46651 - If cron writes out a new record before we get to it
// then we should replace it with the Truth data from the backup.
// This may be obsolete after MDL-48518 is resolved
if ($existing) {
$params['id'] = $existing->id;
$DB->update_record('course_completions', $params);
} else {
$DB->insert_record('course_completions', $params);
}
}
}