MDL-36336: Prevent duplicate grade items on restore

During restore, lti_add_instance() was being called
and this could generate a grade item.  This would
produce a duplicate item because the restore
process would automatically generate the grade item.
This commit is contained in:
Mark Nielsen
2012-11-14 09:38:42 -08:00
parent ff63a3ad58
commit c9af37c4ab
@@ -64,20 +64,20 @@ class restore_lti_activity_structure_step extends restore_activity_structure_ste
}
protected function process_lti($data) {
global $DB, $CFG;
global $DB;
$data = (object)$data;
$oldid = $data->id;
$data->course = $this->get_courseid();
$data->servicesalt = uniqid('', true);
require_once($CFG->dirroot.'/mod/lti/lib.php');
// Clean any course or site typeid. All modules
// are restored as self-contained. Note this is
// an interim solution until the issue below is implemented.
// TODO: MDL-34161 - Fix restore to support course/site tools & submissions.
$data->typeid = 0;
$newitemid = lti_add_instance($data, null);
$newitemid = $DB->insert_record('lti', $data);
// immediately after inserting "activity" record, call this
$this->apply_activity_instance($newitemid);