From 1dc12a647554269a15fcb4a4353a0841f5e6e39f Mon Sep 17 00:00:00 2001 From: tjhunt Date: Fri, 18 Sep 2009 13:42:23 +0000 Subject: [PATCH] quiz reports: MDL-20316 per-question averages not shown with the quiz only allows one attempt. Problem found thanks to OU testing. Fix thanks to Mahmoud Kassaie. --- mod/quiz/report/overview/overview_table.php | 4 ++-- mod/quiz/report/reportlib.php | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mod/quiz/report/overview/overview_table.php b/mod/quiz/report/overview/overview_table.php index 7917f10edc..cf3420c02b 100644 --- a/mod/quiz/report/overview/overview_table.php +++ b/mod/quiz/report/overview/overview_table.php @@ -50,7 +50,7 @@ class quiz_report_overview_table extends table_sql { $groupaveragerow = array($namekey => get_string('groupavg', 'grades'), 'sumgrades' => quiz_format_grade($this->quiz, $groupaverage->grade), 'feedbacktext'=> strip_tags(quiz_report_feedback_for_grade($groupaverage->grade, $this->quiz->id))); - if($this->detailedmarks && $this->qmsubselect) { + if($this->detailedmarks && ($this->qmsubselect || $this->quiz->attempts == 1)) { $avggradebyq = quiz_get_average_grade_for_questions($this->quiz, $this->groupstudents); $groupaveragerow += quiz_format_average_grade_for_questions($avggradebyq, $this->questions, $this->quiz, $this->is_downloading()); } @@ -62,7 +62,7 @@ class quiz_report_overview_table extends table_sql { $overallaveragerow = array($namekey => get_string('overallaverage', 'grades'), 'sumgrades' => quiz_format_grade($this->quiz, $overallaverage->grade), 'feedbacktext'=> strip_tags(quiz_report_feedback_for_grade($overallaverage->grade, $this->quiz->id))); - if($this->detailedmarks && $this->qmsubselect) { + if($this->detailedmarks && ($this->qmsubselect || $this->quiz->attempts == 1)) { $avggradebyq = quiz_get_average_grade_for_questions($this->quiz, $this->students); $overallaveragerow += quiz_format_average_grade_for_questions($avggradebyq, $this->questions, $this->quiz, $this->is_downloading()); } diff --git a/mod/quiz/report/reportlib.php b/mod/quiz/report/reportlib.php index 424158788f..a0b47aefb8 100644 --- a/mod/quiz/report/reportlib.php +++ b/mod/quiz/report/reportlib.php @@ -123,7 +123,7 @@ function quiz_get_average_grade_for_questions($quiz, $userids){ LEFT JOIN {question_sessions} qns ON (qns.attemptid = qa.uniqueid) LEFT JOIN {question_states} qs ON (qns.newgraded = qs.id AND qs.event IN (".QUESTION_EVENTS_GRADED.")) WHERE " . - "($qmfilter) AND " . + ($qmfilter?$qmfilter.' AND ':'') . "qa.userid $usql AND " . "qa.quiz = ? ". "GROUP BY qns.questionid"; -- 2.39.5