- Summary
Quiz overview report is not showing all the participans when the quiz has feedback and the "Show All Studients" option is selected
- Description
We think the problem is located near line 412 (mod/quiz/report/overview.php), in this code:
if ($hasfeedback) {
$factor = $quiz->grade/$quiz->sumgrades;
$select .= ', qf.feedbacktext ';
$from .= " JOIN {$CFG->prefix}quiz_feedback qf ON " .
"qf.quizid = $quiz->id AND qf.mingrade <= qa.sumgrades * $factor AND qa.sumgrades * $factor < qf.maxgrade";
}
A LEFT before the JOIN is missing, so the correct sql should be:
$from .= " LEFT JOIN {$CFG->prefix}quiz_feedback qf ON " .
"qf.quizid = $quiz->id AND qf.mingrade <= qa.sumgrades * $factor AND qa.sumgrades * $factor < qf.maxgrade";
- Steps to Reproduce:
- Go to a quiz with user attemps and feedback
- Select Results
- Run a report selecting "Show all students" at the bottom
- Actual Results: Only the students with attemps
- Expected Results: All the students in the course or group