/** * Test the competency framework viewed event. * */ public function test_competency_framework_viewed() { $this->resetAfterTest(true); $this->setAdminUser(); $lpg = $this->getDataGenerator()->get_plugin_generator('core_competency'); $framework = $lpg->create_framework(); // Trigger and capture the event. $sink = $this->redirectEvents(); api::competency_framework_viewed($framework); // Get our event event. $events = $sink->get_events(); $event = reset($events); // Check that the event data is valid. $this->assertInstanceOf('\\core\\event\\competency_framework_viewed', $event); $this->assertEquals($framework->get_id(), $event->objectid); $this->assertEquals($framework->get_contextid(), $event->contextid); $this->assertEventContextNotUsed($event); $this->assertDebuggingNotCalled(); }
/** * Log event competency framework viewed. * * @param int $id The competency framework ID. * @return boolean */ public static function competency_framework_viewed($id) { $params = self::validate_parameters(self::competency_framework_viewed_parameters(), array('id' => $id)); return api::competency_framework_viewed($params['id']); }
$id = required_param('competencyframeworkid', PARAM_INT); $pagecontextid = required_param('pagecontextid', PARAM_INT); // Reference to the context we came from. $search = optional_param('search', '', PARAM_RAW); require_login(); \core_competency\api::require_enabled(); $pagecontext = context::instance_by_id($pagecontextid); $framework = \core_competency\api::read_framework($id); $context = $framework->get_context(); if (!\core_competency\competency_framework::can_read_context($context)) { throw new required_capability_exception($context, 'moodle/competency:competencyview', 'nopermissions', ''); } $title = get_string('competencies', 'core_competency'); $pagetitle = get_string('competenciesforframework', 'tool_lp', $framework->get_shortname()); // Set up the page. $url = new moodle_url("/admin/tool/lp/competencies.php", array('competencyframeworkid' => $framework->get_id(), 'pagecontextid' => $pagecontextid)); $frameworksurl = new moodle_url('/admin/tool/lp/competencyframeworks.php', array('pagecontextid' => $pagecontextid)); $PAGE->navigation->override_active_url($frameworksurl); $PAGE->set_context($pagecontext); $PAGE->set_pagelayout('admin'); $PAGE->set_url($url); $PAGE->navbar->add($framework->get_shortname(), $url); $PAGE->set_title($title); $PAGE->set_heading($title); $output = $PAGE->get_renderer('tool_lp'); echo $output->header(); $page = new \tool_lp\output\manage_competencies_page($framework, $search, $pagecontext); echo $output->render($page); // Log the framework viewed event after rendering the page. \core_competency\api::competency_framework_viewed($framework); echo $output->footer();