Permalink
Browse files

Merge branch 'MDL-32499_22' of git://github.com/dmonllao/moodle into …

…MOODLE_22_STABLE
  • Loading branch information...
2 parents dd204f3 + c04f9dd commit 09c3821bf47e6a4bf861bbeb7bcccc5d98f0dd4a Sam Hemelryk committed Jul 31, 2012
@@ -106,8 +106,13 @@ protected function define_instance_plugin_structure() {
// Set sources to populate the data
- $filling->set_source_table('gradingform_rubric_fillings',
- array('instanceid' => backup::VAR_PARENTID));
+ // MDL-32499 Binding criterionid to ensure it's existence
+ $filling->set_source_sql('SELECT rf.*
+ FROM {gradingform_rubric_fillings} rf
+ JOIN {grading_instances} gi ON gi.id = rf.instanceid
+ JOIN {gradingform_rubric_criteria} rc ON rc.id = rf.criterionid AND gi.definitionid = rc.definitionid
+ WHERE rf.instanceid = :instanceid',
+ array('instanceid' => backup::VAR_PARENTID));
// no need to annotate ids or files yet (one day when remark field supports
// embedded fileds, they must be annotated here)
@@ -109,6 +109,10 @@ public function process_gradinform_rubric_filling($data) {
$data->criterionid = $this->get_mappingid('gradingform_rubric_criterion', $data->criterionid);
$data->levelid = $this->get_mappingid('gradingform_rubric_level', $data->levelid);
- $DB->insert_record('gradingform_rubric_fillings', $data);
+ // MDL-32499 Avoid fatal errors when restoring backups created after patching MDL-32499
+ if (!empty($data->criterionid)) {
+ $DB->insert_record('gradingform_rubric_fillings', $data);
+ }
+
}
}

0 comments on commit 09c3821

Please sign in to comment.