1
0
mirror of https://github.com/moodle/moodle.git synced 2025-05-15 04:36:13 +02:00

fixed handling of grade items when deleting assignment

This commit is contained in:
skodak 2007-06-01 15:13:36 +00:00
parent 699a472b5b
commit ada917d50a

@ -384,6 +384,8 @@ class assignment_base {
function delete_instance($assignment) {
global $CFG;
$assignment->courseid = $assignment->course;
$result = true;
if (! delete_records('assignment_submissions', 'assignment', $assignment->id)) {
@ -412,6 +414,8 @@ class assignment_base {
require_once($CFG->libdir.'/filelib.php');
fulldelete($CFG->dataroot.'/'.$assignment->course.'/'.$CFG->moddata.'/assignment/'.$assignment->id);
assignment_base::delete_grade_item($assignment);
return $result;
}
@ -532,6 +536,18 @@ class assignment_base {
return $itemid;
}
/**
* Delete associated grade item.
* Static method - do not override!
*/
function delete_grade_item($assignment) {
if ($items = grade_get_items($assignment->courseid, 'mod', 'assignment', $assignment->id)) {
foreach($items as $item) {
$item->delete();
}
}
}
/**
* Returns grade item for assignment.
* Final static method - do not override!