/** * Test the template viewed event. * */ public function test_template_viewed() { $this->resetAfterTest(true); $this->setAdminUser(); $lpg = $this->getDataGenerator()->get_plugin_generator('core_competency'); $template = $lpg->create_template(); // Trigger and capture the event. $sink = $this->redirectEvents(); api::template_viewed($template); // Get our event event. $events = $sink->get_events(); $event = reset($events); // Check that the event data is valid. $this->assertInstanceOf('\\core\\event\\competency_template_viewed', $event); $this->assertEquals($template->get_id(), $event->objectid); $this->assertEquals($template->get_contextid(), $event->contextid); $this->assertEventContextNotUsed($event); $this->assertDebuggingNotCalled(); }
/** * Log the template viewed event. * * @param int $id the template id * @return array of warnings and status result * @throws moodle_exception */ public static function template_viewed($id) { $params = self::validate_parameters(self::view_book_parameters(), array('id' => $id)); $template = api::read_template($params['id']); self::validate_context($template->get_context()); return api::template_viewed($params['id']); }
/** * This page lets users to manage template competencies. * * @package tool_lp * @copyright 2015 Mark Nelson <*****@*****.**> * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once __DIR__ . '/../../../config.php'; require_once $CFG->libdir . '/adminlib.php'; $templateid = required_param('templateid', PARAM_INT); $pagecontextid = required_param('pagecontextid', PARAM_INT); // Reference to the context we came from. require_login(0, false); \core_competency\api::require_enabled(); $pagecontext = context::instance_by_id($pagecontextid); $template = \core_competency\api::read_template($templateid); $context = $template->get_context(); if (!$template->can_read()) { throw new required_capability_exception($context, 'moodle/competency:templateview', 'nopermissions', ''); } // Trigger a template viewed event. \core_competency\api::template_viewed($template); // Set up the page. $url = new moodle_url('/admin/tool/lp/templatecompetencies.php', array('templateid' => $template->get_id(), 'pagecontextid' => $pagecontextid)); list($title, $subtitle) = \tool_lp\page_helper::setup_for_template($pagecontextid, $url, $template); // Display the page. $output = $PAGE->get_renderer('tool_lp'); echo $output->header(); $page = new \tool_lp\output\template_competencies_page($template, $pagecontext); echo $output->render($page); echo $output->footer();