Merge branch 'master_MDL-37714' of git://github.com/greg-or/moodle
authorEloy Lafuente (stronk7) <stronk7@moodle.org>
Mon, 3 Feb 2014 16:58:30 +0000 (17:58 +0100)
committerEloy Lafuente (stronk7) <stronk7@moodle.org>
Mon, 3 Feb 2014 16:58:30 +0000 (17:58 +0100)
grade/grading/form/guide/backup/moodle2/backup_gradingform_guide_plugin.class.php
grade/grading/form/guide/backup/moodle2/restore_gradingform_guide_plugin.class.php

index 75af83a..6ca09c9 100644 (file)
@@ -65,7 +65,7 @@ class backup_gradingform_guide_plugin extends backup_gradingform_plugin {
 
         $pluginwrapper->add_child($criteria);
         $criteria->add_child($criterion);
-        $criteria->add_child($comments);
+        $pluginwrapper->add_child($comments);
         $comments->add_child($comment);
 
         // Set sources to populate the data.
index dd99814..f833404 100644 (file)
@@ -48,6 +48,11 @@ class restore_gradingform_guide_plugin extends restore_gradingform_plugin {
         $paths[] = new restore_path_element('gradingform_guide_comment',
             $this->get_pathfor('/guidecomments/guidecomment'));
 
+        // MDL-37714: Correctly locate frequent used comments in both the
+        // current and incorrect old format.
+        $paths[] = new restore_path_element('gradingform_guide_comment_legacy',
+            $this->get_pathfor('/guidecriteria/guidecomments/guidecomment'));
+
         return $paths;
     }
 
@@ -99,6 +104,20 @@ class restore_gradingform_guide_plugin extends restore_gradingform_plugin {
         $DB->insert_record('gradingform_guide_comments', $data);
     }
 
+    /**
+     * Processes comments element data
+     *
+     * @param array|stdClass $data The data to insert as a comment
+     */
+    public function process_gradingform_guide_comment_legacy($data) {
+        global $DB;
+
+        $data = (object)$data;
+        $data->definitionid = $this->get_new_parentid('grading_definition');
+
+        $DB->insert_record('gradingform_guide_comments', $data);
+    }
+
     /**
      * Processes filling element data
      *