this is my code in local plugin:
classes/observer.php:
<?php
defined('MOODLE_INTERNAL') || die();
class local_myplugin_observer {
public static function course_module_completion_updated(\core\event\course_module_completion_updated $event) {
global $DB;
$eventdata = $event->get_record_snapshot('course_modules_completion',$event->objectid);
$userid = $event->relateduserid;
$mod = $event->contextinstanceid;
if ($eventdata->completionstate == COMPLETION_COMPLETE || $eventdata->completionstate == COMPLETION_COMPLETE_PASS){
//DO SOMETHING
}
}
}
db/events.php:
<?php
defined('MOODLE_INTERNAL') || die();
$observers = array(
array(
'eventname' => '\core\event\course_module_completion_updated',
'callback' => 'local_myplugin_observer::course_module_completion_updated',
)
);