/** * Convenience method to instantiate the event. * * @param user_competency $usercompetency The user competency. * @param int $planid The plan ID * @return self */ public static function create_from_user_competency(user_competency $usercompetency, $planid) { if (!$usercompetency->get_id()) { throw new \coding_exception('The user competency ID must be set.'); } $params = array('contextid' => $usercompetency->get_context()->id, 'objectid' => $usercompetency->get_id(), 'relateduserid' => $usercompetency->get_userid(), 'other' => array('competencyid' => $usercompetency->get_competencyid(), 'grade' => $usercompetency->get_grade(), 'planid' => $planid)); $event = static::create($params); $event->add_record_snapshot(user_competency::TABLE, $usercompetency->to_record()); return $event; }