Merge branch 'MDL-69496_311' of https://github.com/1JackBlack1/moodle into MOODLE_311_STABLE
This commit is contained in:
+6
-4
@@ -2250,11 +2250,13 @@ class MoodleQuickForm extends HTML_QuickForm_DHTMLRulesTableless {
|
||||
// iterate over all elements, calling their exportValue() methods
|
||||
foreach (array_keys($this->_elements) as $key) {
|
||||
if ($this->_elements[$key]->isFrozen() && !$this->_elements[$key]->_persistantFreeze) {
|
||||
$varname = $this->_elements[$key]->_attributes['name'];
|
||||
$value = '';
|
||||
// If we have a default value then export it.
|
||||
if (isset($this->_defaultValues[$varname])) {
|
||||
$value = $this->prepare_fixed_value($varname, $this->_defaultValues[$varname]);
|
||||
if (isset($this->_elements[$key]->_attributes['name'])) {
|
||||
$varname = $this->_elements[$key]->_attributes['name'];
|
||||
// If we have a default value then export it.
|
||||
if (isset($this->_defaultValues[$varname])) {
|
||||
$value = $this->prepare_fixed_value($varname, $this->_defaultValues[$varname]);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
$value = $this->_elements[$key]->exportValue($this->_submitValues, true);
|
||||
|
||||
+11
-8
@@ -1128,14 +1128,17 @@ function quiz_process_options($quiz) {
|
||||
$quiz->reviewoverallfeedback &= ~mod_quiz_display_options::DURING;
|
||||
|
||||
// Ensure that disabled checkboxes in completion settings are set to 0.
|
||||
if (empty($quiz->completionusegrade)) {
|
||||
$quiz->completionpass = 0;
|
||||
}
|
||||
if (empty($quiz->completionpass)) {
|
||||
$quiz->completionattemptsexhausted = 0;
|
||||
}
|
||||
if (empty($quiz->completionminattemptsenabled)) {
|
||||
$quiz->completionminattempts = 0;
|
||||
// But only if the completion settinsg are unlocked.
|
||||
if (!empty($quiz->completionunlocked)) {
|
||||
if (empty($quiz->completionusegrade)) {
|
||||
$quiz->completionpass = 0;
|
||||
}
|
||||
if (empty($quiz->completionpass)) {
|
||||
$quiz->completionattemptsexhausted = 0;
|
||||
}
|
||||
if (empty($quiz->completionminattemptsenabled)) {
|
||||
$quiz->completionminattempts = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
@mod @mod_quiz @core_completion
|
||||
Feature: Ensure saving a quiz does not modify the completion settings.
|
||||
In order to reliably use completion
|
||||
As a teacher
|
||||
I need to be able to update the quiz
|
||||
without changing the completion settings.
|
||||
|
||||
Background:
|
||||
Given the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| student1 | Student | 1 | student1@example.com |
|
||||
| teacher1 | Teacher | 1 | teacher1@example.com |
|
||||
And the following "courses" exist:
|
||||
| fullname | shortname | category | enablecompletion |
|
||||
| Course 1 | C1 | 0 | 1 |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | editingteacher |
|
||||
| student1 | C1 | student |
|
||||
And the following config values are set as admin:
|
||||
| grade_item_advanced | hiddenuntil |
|
||||
And the following "question categories" exist:
|
||||
| contextlevel | reference | name |
|
||||
| Course | C1 | Test questions |
|
||||
And the following "questions" exist:
|
||||
| questioncategory | qtype | name | questiontext |
|
||||
| Test questions | truefalse | First question | Answer the first question |
|
||||
And the following "activity" exists:
|
||||
| activity | quiz |
|
||||
| course | C1 |
|
||||
| idnumber | quiz1 |
|
||||
| name | Test quiz |
|
||||
| section | 1 |
|
||||
| attempts | 2 |
|
||||
| gradepass | 5.00 |
|
||||
| completion | 2 |
|
||||
| completionview | 0 |
|
||||
| completionusegrade | 1 |
|
||||
| completionpass | 1 |
|
||||
| completionattemptsexhausted | 1 |
|
||||
And quiz "Test quiz" contains the following questions:
|
||||
| question | page |
|
||||
| First question | 1 |
|
||||
And user "student1" has attempted "Test quiz" with responses:
|
||||
| slot | response |
|
||||
| 1 | True |
|
||||
|
||||
Scenario: Ensure saving quiz activty does not change completion settings
|
||||
Given I am on the "Test quiz" "mod_quiz > View" page logged in as "teacher1"
|
||||
When I navigate to "Edit settings" in current page administration
|
||||
Then the "completionattemptsexhausted" "field" should be disabled
|
||||
And the field "completionattemptsexhausted" matches value "1"
|
||||
And I press "Save and display"
|
||||
And I navigate to "Edit settings" in current page administration
|
||||
And the "completionattemptsexhausted" "field" should be disabled
|
||||
And the field "completionattemptsexhausted" matches value "1"
|
||||
Reference in New Issue
Block a user