Merge branch 'MDL-31314' of git://github.com/timhunt/moodle
This commit is contained in:
@@ -371,40 +371,35 @@ class restore_gradebook_structure_step extends restore_structure_step {
|
||||
}
|
||||
$rs->close();
|
||||
|
||||
//need to correct the grade category path and parent
|
||||
// Need to correct the grade category path and parent
|
||||
$conditions = array(
|
||||
'courseid' => $this->get_courseid()
|
||||
);
|
||||
$grade_category = new stdclass();
|
||||
|
||||
$rs = $DB->get_recordset('grade_categories', $conditions);
|
||||
if (!empty($rs)) {
|
||||
//get all the parents correct first as grade_category::build_path() loads category parents from the DB
|
||||
foreach($rs as $gc) {
|
||||
if (!empty($gc->parent)) {
|
||||
$grade_category->id = $gc->id;
|
||||
$grade_category->parent = $this->get_mappingid('grade_category', $gc->parent);
|
||||
$DB->update_record('grade_categories', $grade_category);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (isset($grade_category->parent)) {
|
||||
unset($grade_category->parent);
|
||||
}
|
||||
$rs->close();
|
||||
|
||||
$rs = $DB->get_recordset('grade_categories', $conditions);
|
||||
if (!empty($rs)) {
|
||||
//now we can rebuild all the paths
|
||||
foreach($rs as $gc) {
|
||||
// Get all the parents correct first as grade_category::build_path() loads category parents from the DB
|
||||
foreach ($rs as $gc) {
|
||||
if (!empty($gc->parent)) {
|
||||
$grade_category = new stdClass();
|
||||
$grade_category->id = $gc->id;
|
||||
$grade_category->path = grade_category::build_path($gc);
|
||||
$grade_category->parent = $this->get_mappingid('grade_category', $gc->parent);
|
||||
$DB->update_record('grade_categories', $grade_category);
|
||||
}
|
||||
}
|
||||
$rs->close();
|
||||
|
||||
//Restore marks items as needing update. Update everything now.
|
||||
// Now we can rebuild all the paths
|
||||
$rs = $DB->get_recordset('grade_categories', $conditions);
|
||||
foreach ($rs as $gc) {
|
||||
$grade_category = new stdClass();
|
||||
$grade_category->id = $gc->id;
|
||||
$grade_category->path = grade_category::build_path($gc);
|
||||
$grade_category->depth = substr_count($grade_category->path, '/') - 1;
|
||||
$DB->update_record('grade_categories', $grade_category);
|
||||
}
|
||||
$rs->close();
|
||||
|
||||
// Restore marks items as needing update. Update everything now.
|
||||
grade_regrade_final_grades($this->get_courseid());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user