/** * Assert that a competency was graded in a course. * * @param int $courseid The course ID. * @param int $userid The user ID. * @param int $compid The competency ID. * @param int $grade The grade. */ protected function assertSuccessWithGradeCompetencyInCourse($courseid, $userid, $compid, $grade = 1) { $beforecount = evidence::count_records(); api::grade_competency_in_course($courseid, $userid, $compid, $grade); $this->assertEquals($beforecount + 1, evidence::count_records()); $uc = user_competency::get_record(array('userid' => $userid, 'competencyid' => $compid)); $records = evidence::get_records(array(), 'id', 'DESC', 0, 1); $evidence = array_pop($records); $this->assertEquals($uc->get_id(), $evidence->get_usercompetencyid()); }
/** * List all the evidence for a user competency in a course. * * @param int $userid The user ID. * @param int $courseid The course ID. * @param int $competencyid The competency ID. * @param string $sort The field to sort the evidence by. * @param string $order The ordering of the sorting. * @param int $skip Number of records to skip. * @param int $limit Number of records to return. * @return \core_competency\evidence[] */ public static function list_evidence_in_course($userid = 0, $courseid = 0, $competencyid = 0, $sort = 'timecreated', $order = 'DESC', $skip = 0, $limit = 0) { static::require_enabled(); if (!user_competency::can_read_user_in_course($userid, $courseid)) { $context = context_user::instance($userid); throw new required_capability_exception($context, 'moodle/competency:usercompetencyview', 'nopermissions', ''); } $usercompetency = user_competency::get_record(array('userid' => $userid, 'competencyid' => $competencyid)); if (!$usercompetency) { return array(); } $params = array('usercompetencyid' => $usercompetency->get_id(), 'contextid' => context_course::instance($courseid)->id); return evidence::get_records($params, $sort, $order, $skip, $limit); }