示例#1
0
 /**
  * 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();
 }
示例#2
0
 /**
  * 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();