MDL-34054 quiz reports: missing context.
authorTim Hunt <T.J.Hunt@open.ac.uk>
Fri, 29 Jun 2012 15:06:25 +0000 (16:06 +0100)
committerDan Poltawski <dan@moodle.com>
Mon, 2 Jul 2012 06:57:29 +0000 (14:57 +0800)
quiz_report_should_show_grades needs to know the context, so pass it
through.

mod/quiz/report/attemptsreport_options.php
mod/quiz/report/reportlib.php

index cca3d30..ffd4287 100644 (file)
@@ -105,7 +105,7 @@ class mod_quiz_attempts_report_options {
         $this->cm     = $cm;
         $this->course = $course;
 
-        $this->usercanseegrades = quiz_report_should_show_grades($quiz);
+        $this->usercanseegrades = quiz_report_should_show_grades($quiz, context_module::instance($cm->id));
     }
 
     /**
index 9bfa402..d3e4e99 100644 (file)
@@ -401,9 +401,10 @@ function quiz_no_questions_message($quiz, $cm, $context) {
  * Should the grades be displayed in this report. That depends on the quiz
  * display options, and whether the quiz is graded.
  * @param object $quiz the quiz settings.
+ * @param context $context the quiz context.
  * @return bool
  */
-function quiz_report_should_show_grades($quiz) {
+function quiz_report_should_show_grades($quiz, context $context) {
     if ($quiz->timeclose && time() > $quiz->timeclose) {
         $when = mod_quiz_display_options::AFTER_CLOSE;
     } else {
@@ -413,5 +414,5 @@ function quiz_report_should_show_grades($quiz) {
 
     return quiz_has_grades($quiz) &&
             ($reviewoptions->marks >= question_display_options::MARK_AND_MAX ||
-            has_capability('moodle/grade:viewhidden', $this->context));
+            has_capability('moodle/grade:viewhidden', $context));
 }