Commit fe955c56 authored by Damyon Wiese's avatar Damyon Wiese

Merge branch 'wip-MDL-45500-master' of git://github.com/marinaglancy/moodle

parents c6a507e9 777720c8
......@@ -31,6 +31,30 @@ defined('MOODLE_INTERNAL') || die();
class gradingform extends base {
public function is_uninstall_allowed() {
return false;
return true;
}
/**
* Pre-uninstall hook.
* This is intended for disabling of plugin, some DB table purging, etc.
*/
public function uninstall_cleanup() {
global $DB;
// Find all definitions and templates.
$definitions = $DB->get_fieldset_select('grading_definitions', 'id', 'method = ?', [$this->name]);
if ($definitions) {
// Delete instances and definitions. Deleting instance will not delete grades because they were
// already pushed to the module and gradebook.
list($sqld, $paramsd) = $DB->get_in_or_equal($definitions);
$DB->delete_records_select('grading_instances', 'definitionid ' . $sqld, $paramsd);
$DB->delete_records_select('grading_definitions', 'id ' . $sqld, $paramsd);
}
// Delete templates for this grading method.
$DB->delete_records_select('grading_areas', 'component = ? AND activemethod = ?', array('core_grading', $this->name));
// Update the remaining grading areas to use simple grading method instead of this grading method.
$DB->execute('UPDATE {grading_areas} SET activemethod = NULL WHERE activemethod = ?', [$this->name]);
parent::uninstall_cleanup();
}
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment