MDL-48549 mod_assign: delete entries from the flags/mapping tables

This commit is contained in:
Mark Nelson
2014-12-26 18:53:14 -08:00
parent 981f06fad5
commit 26ac0abc22
+10 -9
View File
@@ -696,9 +696,11 @@ class assign {
}
// Delete_records will throw an exception if it fails - so no need for error checking here.
$DB->delete_records('assign_submission', array('assignment'=>$this->get_instance()->id));
$DB->delete_records('assign_grades', array('assignment'=>$this->get_instance()->id));
$DB->delete_records('assign_plugin_config', array('assignment'=>$this->get_instance()->id));
$DB->delete_records('assign_submission', array('assignment' => $this->get_instance()->id));
$DB->delete_records('assign_grades', array('assignment' => $this->get_instance()->id));
$DB->delete_records('assign_plugin_config', array('assignment' => $this->get_instance()->id));
$DB->delete_records('assign_user_flags', array('assignment' => $this->get_instance()->id));
$DB->delete_records('assign_user_mapping', array('assignment' => $this->get_instance()->id));
// Delete items from the gradebook.
if (! $this->delete_grades()) {
@@ -757,19 +759,18 @@ class assign {
}
}
$assignssql = 'SELECT a.id
FROM {assign} a
WHERE a.course=:course';
$params = array('course'=>$data->courseid);
$assignids = $DB->get_records('assign', array('course' => $data->courseid), '', 'id');
list($sql, $params) = $DB->get_in_or_equal(array_keys($assignids));
$DB->delete_records_select('assign_submission', "assignment IN ($assignssql)", $params);
$DB->delete_records_select('assign_submission', "assignment $sql", $params);
$DB->delete_records_select('assign_user_flags', "assignment $sql", $params);
$status[] = array('component'=>$componentstr,
'item'=>get_string('deleteallsubmissions', 'assign'),
'error'=>false);
if (!empty($data->reset_gradebook_grades)) {
$DB->delete_records_select('assign_grades', "assignment IN ($assignssql)", $params);
$DB->delete_records_select('assign_grades', "assignment $sql", $params);
// Remove all grades from gradebook.
require_once($CFG->dirroot.'/mod/assign/lib.php');
assign_reset_gradebook($data->courseid);