public static function grade_competency($userid, $competencyid, $grade, $note = null) {
        global $USER;
        static::require_enabled();

        $uc = static::get_user_competency($userid, $competencyid);
        $context = $uc->get_context();
        if (!user_competency::can_grade_user($uc->get('userid'))) {
            throw new required_capability_exception($context, 'moodle/competency:competencygrade', 'nopermissions', '');
        }

        // Throws exception if competency not in plan.
        $competency = $uc->get_competency();
        $competencycontext = $competency->get_context();
        if (!has_any_capability(array('moodle/competency:competencyview', 'moodle/competency:competencymanage'),
                $competencycontext)) {
            throw new required_capability_exception($competencycontext, 'moodle/competency:competencyview', 'nopermissions', '');
        }

        $action = evidence::ACTION_OVERRIDE;
        $desckey = 'evidence_manualoverride';

        $result = self::add_evidence($uc->get('userid'),
                                  $competency,
                                  $context->id,
                                  $action,
                                  $desckey,
                                  'core_competency',
                                  null,
                                  false,
                                  null,
                                  $grade,
                                  $USER->id,
                                  $note);
        if ($result) {
            $uc->read();
            $event = \core\event\competency_user_competency_rated::create_from_user_competency($uc);
            $event->trigger();
        }
        return $result;
    }
public static function grade_competency($userid, $competencyid, $grade, $note = null) {
        global $USER;
        static::require_enabled();

        $uc = static::get_user_competency($userid, $competencyid);
        $context = $uc->get_context();
        if (!user_competency::can_grade_user($uc->get('userid'))) {
            throw new required_capability_exception($context, 'moodle/competency:competencygrade', 'nopermissions', '');
        }

        // Throws exception if competency not in plan.
        $competency = $uc->get_competency();
        $competencycontext = $competency->get_context();
        if (!has_any_capability(array('moodle/competency:competencyview', 'moodle/competency:competencymanage'),
                $competencycontext)) {
            throw new required_capability_exception($competencycontext, 'moodle/competency:competencyview', 'nopermissions', '');
        }

        $action = evidence::ACTION_OVERRIDE;
        $desckey = 'evidence_manualoverride';

        $result = self::add_evidence($uc->get('userid'),
                                  $competency,
                                  $context->id,
                                  $action,
                                  $desckey,
                                  'core_competency',
                                  null,
                                  false,
                                  null,
                                  $grade,
                                  $USER->id,
                                  $note);
        if ($result) {
            $uc->read();
            $event = \core\event\competency_user_competency_rated::create_from_user_competency($uc);
            $event->trigger();
        }
        return $result;
    }
public static function grade_competency ( $ userid , $ competencyid , $ grade , $ note = null ) { global $ USER ; static :: require_enabled ( ) ; $ uc = static :: get_user_competency ( $ userid , $ competencyid ) ; $ context = $ uc -> get_context ( ) ; if ( ! user_competency :: can_grade_user ( $ uc -> get ( 'userid' ) ) ) { throw new required_capability_exception ( $ context , 'moodle/competency:competencygrade' , 'nopermissions' , '' ) ; } // Throws exception if competency not in plan. $ competency = $ uc -> get_competency ( ) ; $ competencycontext = $ competency -> get_context ( ) ; if ( ! has_any_capability ( array ( 'moodle/competency:competencyview' , 'moodle/competency:competencymanage' ) , $ competencycontext ) ) { throw new required_capability_exception ( $ competencycontext , 'moodle/competency:competencyview' , 'nopermissions' , '' ) ; } $ action = evidence :: ACTION_OVERRIDE ; $ desckey = 'evidence_manualoverride' ; $ result = self :: add_evidence ( $ uc -> get ( 'userid' ) , $ competency , $ context -> id , $ action , $ desckey , 'core_competency' , null , false , null , $ grade , $ USER -> id , $ note ) ; if ( $ result ) { $ uc -> read ( ) ; $ event = \ core \ event \ competency_user_competency_rated :: create_from_user_competency ( $ uc ) ; $ event -> trigger ( ) ; } return $ result ; }
Manually grade a user competency.

@param int $userid
@param int $competencyid
@param int $grade
@param string $note A note to attach to the evidence
@return array of \core_competency\user_competency
Manually grade a user competency .