}
    if (!($cm = get_coursemodule_from_instance("questionnaire", $questionnaire->id, $course->id))) {
        print_error('invalidcoursemodule');
    }
}
// Check login and get context.
require_course_login($course, true, $cm);
$context = context_module::instance($cm->id);
require_capability('mod/questionnaire:view', $context);
$url = new moodle_url($CFG->wwwroot . '/mod/questionnaire/complete.php');
if (isset($id)) {
    $url->param('id', $id);
} else {
    $url->param('a', $a);
}
$PAGE->set_url($url);
$PAGE->set_context($context);
$questionnaire = new questionnaire(0, $questionnaire, $course, $cm);
$questionnaire->strquestionnaires = get_string("modulenameplural", "questionnaire");
$questionnaire->strquestionnaire = get_string("modulename", "questionnaire");
// Mark as viewed.
$completion = new completion_info($course);
$completion->set_module_viewed($cm);
if ($resume) {
    $context = context_module::instance($questionnaire->cm->id);
    $anonymous = $questionnaire->respondenttype == 'anonymous';
    $event = \mod_questionnaire\event\attempt_resumed::create(array('objectid' => $questionnaire->id, 'anonymous' => $anonymous, 'context' => $context));
    $event->trigger();
}
$questionnaire->view();