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

This commit is contained in:
Damyon Wiese
2017-12-11 13:14:05 +08:00
+25 -1
View File
@@ -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();
}
}