Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Merge branch 'backup_groups_m20' of git://github.com/stronk7/moodle i…

…nto MOODLE_20_STABLE
  • Loading branch information...
commit f2c12522c3676889b6c6c780f90b8bd588fe59e3 2 parents 38a94e0 + b229f56
@samhemelryk samhemelryk authored
View
11 backup/moodle2/backup_course_task.class.php
@@ -75,8 +75,15 @@ public function build() {
// Generate the enrolment file
$this->add_step(new backup_enrolments_structure_step('course_enrolments', 'enrolments.xml'));
- // Annotate the groups used in already annotated groupings
- $this->add_step(new backup_annotate_groups_from_groupings('annotate_groups'));
+ // Annotate all the groups and groupings belonging to the course
+ $this->add_step(new backup_annotate_course_groups_and_groupings('annotate_course_groups'));
+
+ // Annotate the groups used in already annotated groupings (note this may be
+ // unnecessary now that we are annotating all the course groups and groupings in the
+ // step above. But we keep it working in case we decide, someday, to introduce one
+ // setting to transform the step above into an optional one. This is here to support
+ // course->defaultgroupingid
+ $this->add_step(new backup_annotate_groups_from_groupings('annotate_groups_from_groupings'));
// Annotate the question_categories belonging to the course context
$this->add_step(new backup_calculate_question_categories('course_question_categories'));
View
26 backup/moodle2/backup_stepslib.php
@@ -1565,6 +1565,32 @@ protected function define_execution() {
}
/**
+ * This step will annotate all the groups and groupings belonging to the course
+ */
+class backup_annotate_course_groups_and_groupings extends backup_execution_step {
+
+ protected function define_execution() {
+ global $DB;
+
+ // Get all the course groups
+ if ($groups = $DB->get_records('groups', array(
+ 'courseid' => $this->task->get_courseid()))) {
+ foreach ($groups as $group) {
+ backup_structure_dbops::insert_backup_ids_record($this->get_backupid(), 'group', $group->id);
+ }
+ }
+
+ // Get all the course groupings
+ if ($groupings = $DB->get_records('groupings', array(
+ 'courseid' => $this->task->get_courseid()))) {
+ foreach ($groupings as $grouping) {
+ backup_structure_dbops::insert_backup_ids_record($this->get_backupid(), 'grouping', $grouping->id);
+ }
+ }
+ }
+}
+
+/**
* This step will annotate all the groups belonging to already annotated groupings
*/
class backup_annotate_groups_from_groupings extends backup_execution_step {
Please sign in to comment.
Something went wrong with that request. Please try again.