mirror of
https://github.com/moodle/moodle.git
synced 2025-03-23 00:50:15 +01:00
Merge branch 'MDL-78260_401' of https://github.com/timhunt/moodle into MOODLE_401_STABLE
This commit is contained in:
commit
b28a28ef0f
@ -40,6 +40,7 @@ require_once($CFG->libdir . '/filelib.php');
|
||||
require_once($CFG->libdir . '/questionlib.php');
|
||||
|
||||
use mod_quiz\question\bank\qbank_helper;
|
||||
use qbank_previewquestion\question_preview_options;
|
||||
|
||||
/**
|
||||
* @var int We show the countdown timer if there is less than this amount of time left before the
|
||||
@ -1477,17 +1478,22 @@ function quiz_question_preview_url($quiz, $question, $variant = null, $restartve
|
||||
* @param bool $label if true, show the preview question label after the icon
|
||||
* @param int $variant which question variant to preview (optional).
|
||||
* @param bool $random if question is random, true.
|
||||
* @return the HTML for a preview question icon.
|
||||
* @return string the HTML for a preview question icon.
|
||||
*/
|
||||
function quiz_question_preview_button($quiz, $question, $label = false, $variant = null, $random = null) {
|
||||
global $PAGE;
|
||||
if (!question_has_capability_on($question, 'use')) {
|
||||
return '';
|
||||
}
|
||||
$slotinfo = quiz::create($quiz->id)->get_structure()->get_slot_by_number($question->slot);
|
||||
return $PAGE->get_renderer('mod_quiz', 'edit')
|
||||
->question_preview_icon($quiz, $question, $label, $variant,
|
||||
$slotinfo->requestedversion ?: \qbank_previewquestion\question_preview_options::ALWAYS_LATEST);
|
||||
$structure = quiz::create($quiz->id)->get_structure();
|
||||
if (!empty($question->slot)) {
|
||||
$requestedversion = $structure->get_slot_by_number($question->slot)->requestedversion
|
||||
?? question_preview_options::ALWAYS_LATEST;
|
||||
} else {
|
||||
$requestedversion = question_preview_options::ALWAYS_LATEST;
|
||||
}
|
||||
return $PAGE->get_renderer('mod_quiz', 'edit')->question_preview_icon(
|
||||
$quiz, $question, $label, $variant, $requestedversion);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -204,12 +204,8 @@ class quiz_statistics_table extends flexible_table {
|
||||
} else if ($questionstat->question->qtype === 'missingtype') {
|
||||
return '';
|
||||
} else {
|
||||
$random = null;
|
||||
if ($questionstat->question->qtype === 'random') {
|
||||
$random = true;
|
||||
}
|
||||
return quiz_question_action_icons($this->quiz, $this->cmid,
|
||||
$questionstat->question, $this->baseurl, $questionstat->variant, $random);
|
||||
$questionstat->question, $this->baseurl, $questionstat->variant);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1,38 +0,0 @@
|
||||
@mod @mod_quiz @quiz @quiz_statistics
|
||||
Feature: Robustness of the statistics calculations with random essays
|
||||
In order not to see errors
|
||||
As a teacher
|
||||
I need the statistics to work even if the quiz uses a random selection of essays
|
||||
|
||||
Scenario: Statistics can be calculated even after a question type has been uninstalled
|
||||
Given the following "users" exist:
|
||||
| username |
|
||||
| teacher |
|
||||
| student |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname |
|
||||
| Course 1 | C1 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
| student | C1 | student |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
And the following "questions" exist:
|
||||
| questioncategory | qtype | template | name | questiontext |
|
||||
| Test questions | essay | plain | Test question 1 | |
|
||||
| Test questions | essay | plain | Test question 2 | |
|
||||
| Test questions | random | | Random (Test questions) | 0 |
|
||||
And the following "activities" exist:
|
||||
| activity | name | course | idnumber |
|
||||
| quiz | Quiz 1 | C1 | quiz1 |
|
||||
And quiz "Quiz 1" contains the following questions:
|
||||
| question | page |
|
||||
| Random (Test questions) | 1 |
|
||||
And user "student" has attempted "Quiz 1" with responses:
|
||||
| slot | response |
|
||||
| 1 | Here is my wonderful essay |
|
||||
|
||||
When I am on the "Quiz 1" "mod_quiz > Statistics report" page logged in as teacher
|
||||
Then I should see "No attempts have been made at this quiz, or all attempts have questions that need manual grading."
|
@ -0,0 +1,58 @@
|
||||
@mod @mod_quiz @quiz @quiz_statistics
|
||||
Feature: Statistics calculations with random questions
|
||||
In order to verify my quizzes are performing well
|
||||
As a teacher
|
||||
I need the statistics to analyse any random questions they contain
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username |
|
||||
| teacher |
|
||||
| student |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname |
|
||||
| Course 1 | C1 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher | C1 | editingteacher |
|
||||
| student | C1 | student |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
|
||||
Scenario: Statistics can be calculated for random essays
|
||||
Given the following "questions" exist:
|
||||
| questioncategory | qtype | template | name | questiontext |
|
||||
| Test questions | essay | plain | Test question 1 | |
|
||||
| Test questions | essay | plain | Test question 2 | |
|
||||
| Test questions | random | | Random (Test questions) | 0 |
|
||||
And the following "activities" exist:
|
||||
| activity | name | course | idnumber |
|
||||
| quiz | Quiz 1 | C1 | quiz1 |
|
||||
And quiz "Quiz 1" contains the following questions:
|
||||
| question | page |
|
||||
| Random (Test questions) | 1 |
|
||||
And user "student" has attempted "Quiz 1" with responses:
|
||||
| slot | response |
|
||||
| 1 | Here is my wonderful essay |
|
||||
When I am on the "Quiz 1" "mod_quiz > Statistics report" page logged in as teacher
|
||||
Then I should see "No attempts have been made at this quiz, or all attempts have questions that need manual grading."
|
||||
|
||||
Scenario: View details works for random questions
|
||||
Given the following "questions" exist:
|
||||
| questioncategory | qtype | template | name | questiontext |
|
||||
| Test questions | multichoice | one_of_four | Test question 1 | |
|
||||
| Test questions | multichoice | one_of_four | Test question 2 | |
|
||||
| Test questions | random | | Random (Test questions) | 0 |
|
||||
And the following "activities" exist:
|
||||
| activity | name | course | idnumber |
|
||||
| quiz | Quiz 1 | C1 | quiz1 |
|
||||
And quiz "Quiz 1" contains the following questions:
|
||||
| question | page |
|
||||
| Random (Test questions) | 1 |
|
||||
And user "student" has attempted "Quiz 1" with responses:
|
||||
| slot | response |
|
||||
| 1 | One |
|
||||
When I am on the "Quiz 1" "mod_quiz > Statistics report" page logged in as teacher
|
||||
And I follow "View details"
|
||||
Then I should see "Structural analysis for question number 1"
|
Loading…
x
Reference in New Issue
Block a user