public function delete()
 {
     $studid = $this->studentid;
     parent::delete();
     $scheddata = $this->get_scheduler()->get_data();
     scheduler_update_grades($scheddata, $studid);
 }
/**
 * Update all grades in gradebook.
 */
function scheduler_upgrade_grades()
{
    global $DB;
    $sql = "SELECT COUNT('x')\n        FROM {scheduler} s, {course_modules} cm, {modules} m\n        WHERE m.name='scheduler' AND m.id=cm.module AND cm.instance=s.id";
    $count = $DB->count_records_sql($sql);
    $sql = "SELECT s.*, cm.idnumber AS cmidnumber, s.course AS courseid\n        FROM {scheduler} s, {course_modules} cm, {modules} m\n        WHERE m.name='scheduler' AND m.id=cm.module AND cm.instance=s.id";
    $rs = $DB->get_recordset_sql($sql);
    if ($rs->valid()) {
        $pbar = new progress_bar('schedulerupgradegrades', 500, true);
        $i = 0;
        foreach ($rs as $scheduler) {
            $i++;
            upgrade_set_timeout(60 * 5);
            // Set up timeout, may also abort execution.
            scheduler_update_grades($scheduler);
            $pbar->update($i, $count, "Updating scheduler grades ({$i}/{$count}).");
        }
        upgrade_set_timeout();
        // Reset to default timeout.
    }
    $rs->close();
}