MDL-28180 backup - on restore always prevent completion_aggr_methd dupes
This covers the last case where dupes could be happening in the completion_aggr_methd table: Restoring one complete course into an existing one, adding information. Now we always check if the aggr_method exists before inserting it.
This commit is contained in:
@@ -1805,15 +1805,20 @@ class restore_course_completion_structure_step extends restore_structure_step {
|
||||
|
||||
$data->course = $this->get_courseid();
|
||||
|
||||
$params = array(
|
||||
'course' => $data->course,
|
||||
'criteriatype' => $data->criteriatype,
|
||||
'method' => $data->method,
|
||||
'value' => $data->value,
|
||||
);
|
||||
$DB->insert_record('course_completion_aggr_methd', $params);
|
||||
// Only create the course_completion_aggr_methd records if
|
||||
// the target course has not them defined. MDL-28180
|
||||
if (!$DB->record_exists('course_completion_aggr_methd', array(
|
||||
'course' => $data->course,
|
||||
'criteriatype' => $data->criteriatype))) {
|
||||
$params = array(
|
||||
'course' => $data->course,
|
||||
'criteriatype' => $data->criteriatype,
|
||||
'method' => $data->method,
|
||||
'value' => $data->value,
|
||||
);
|
||||
$DB->insert_record('course_completion_aggr_methd', $params);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user