MDL-40697 core_grades: trigger the grade_deleted event
authorMark Nelson <markn@moodle.com>
Fri, 26 Sep 2014 03:52:40 +0000 (20:52 -0700)
committerMark Nelson <markn@moodle.com>
Wed, 8 Oct 2014 02:08:35 +0000 (19:08 -0700)
lib/grade/grade_grade.php

index be9ee40..46eea2d 100644 (file)
@@ -946,6 +946,24 @@ class grade_grade extends grade_object {
         return parent::update($source);
     }
 
         return parent::update($source);
     }
 
+    /**
+     * Deletes the grade_grade instance from the database.
+     *
+     * @param string $source The location the deletion occurred (mod/forum, manual, etc.).
+     * @return bool Returns true if the deletion was successful, false otherwise.
+     */
+    public function delete($source = null) {
+        $success = parent::delete($source);
+
+        // If the grade was deleted successfully trigger a grade_deleted event.
+        if ($success) {
+            $this->load_grade_item();
+            \core\event\grade_deleted::create_from_grade($this)->trigger();
+        }
+
+        return $success;
+    }
+
     /**
      * Used to notify the completion system (if necessary) that a user's grade
      * has changed, and clear up a possible score cache.
     /**
      * Used to notify the completion system (if necessary) that a user's grade
      * has changed, and clear up a possible score cache.