diff -Naur a/mod/questionnaire/print.php b/mod/questionnaire/print.php --- a/mod/questionnaire/print.php 2011-01-27 06:11:59.000000000 -0800 +++ b/mod/questionnaire/print.php 2011-01-27 06:12:20.000000000 -0800 @@ -24,8 +24,9 @@ require_login($courseid); $questionnaire = new questionnaire(0, $questionnaire, $course, $cm); + $context = get_context_instance(CONTEXT_MODULE, $cm->id); - if (!$questionnaire->user_can_take($USER->id)) { + if (!$questionnaire->user_can_take($USER->id) && !has_capability('mod/questionnaire:readallresponseanytime',$context)) { /// Should never happen, unless called directly by a snoop... print_error('nopermissions', 'questionnaire', $CFG->wwwroot.'/mod/questionnaire/view.php?id='.$cm->id); }