Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-54802

Unable to complete quiz which requires passing grade and grade to pass of 0

    Details

    • Testing Instructions:
      Hide
      1. Enable course completion.
      2. Create a course and enable completion tracking.
      3. Enrol some students.
      4. Create a quiz with the settings:
        • Grade to pass: 0.00
        • Completion tracking: Show activity as complete when conditions are met
        • Select Require passing grade.
      5. Try to save and make sure you get a validation error on the Require passing grade element: This quiz does not have a grade to pass set so you cannot use this option. Please use the require grade setting instead.
      6. Change the grade to pass to some value greater than 0.
      7. Make sure you don't get any error.
      8. Create a multi choice question.
      9. As student, attempt the quiz, answer selecting the wrong answer and submit.
      10. Go back to course page and make sure the completion checkbox is marked as not completed
      11. Login as a different student, attempt the quiz selecting the correct answer and submit.
      12. Go back to course page and make sure the completion box is marked as completed.
      13. As teacher or admin, try to edit the quiz with the combination above (grade to pass 0 and selecting require passing grade.
      14. Make sure you get a validation error on the Grade to pass element: Grade to pass cannot be zero as this quiz has its completion method set to require passing grade. Please set a non-zero value.
      Show
      Enable course completion. Create a course and enable completion tracking. Enrol some students. Create a quiz with the settings: Grade to pass : 0.00 Completion tracking : Show activity as complete when conditions are met Select Require passing grade . Try to save and make sure you get a validation error on the Require passing grade element: This quiz does not have a grade to pass set so you cannot use this option. Please use the require grade setting instead. Change the grade to pass to some value greater than 0. Make sure you don't get any error. Create a multi choice question. As student, attempt the quiz, answer selecting the wrong answer and submit. Go back to course page and make sure the completion checkbox is marked as not completed Login as a different student, attempt the quiz selecting the correct answer and submit. Go back to course page and make sure the completion box is marked as completed. As teacher or admin, try to edit the quiz with the combination above (grade to pass 0 and selecting require passing grade . Make sure you get a validation error on the Grade to pass element: Grade to pass cannot be zero as this quiz has its completion method set to require passing grade. Please set a non-zero value.
    • Workaround:
      Hide

      Option 1:
      1. Edit the quiz settings.
      2. In the Activity completion section, unselect the "Require passing grade" check box and select the "Require grade" check box.
      3. Save. Activity completion will be re-evaluated. All students having received any grade on the quiz will now be marked as complete.

      Option 2:
      1. Edit the quiz settings.
      2. In the Grade section, set Grade to pass to a value greater than 0, but not the desired final value.
      3. Save. Activity completion status will not update at this point.
      4. Edit the quiz settings again.
      5. In the Grade section, set Grade to pass to the desired value.
      6. Save. Activity completion will be re-evaluated. All students having received a score at or above the defined grade to pass will now be marked as complete.
      (I am not sure why two edits to "Grade to pass" are required to get the activity completion to re-evaluate, but I tested several times and this was the consistent outcome.)

      Show
      Option 1: 1. Edit the quiz settings. 2. In the Activity completion section, unselect the "Require passing grade" check box and select the "Require grade" check box. 3. Save. Activity completion will be re-evaluated. All students having received any grade on the quiz will now be marked as complete. Option 2: 1. Edit the quiz settings. 2. In the Grade section, set Grade to pass to a value greater than 0, but not the desired final value. 3. Save. Activity completion status will not update at this point. 4. Edit the quiz settings again. 5. In the Grade section, set Grade to pass to the desired value. 6. Save. Activity completion will be re-evaluated. All students having received a score at or above the defined grade to pass will now be marked as complete. (I am not sure why two edits to "Grade to pass" are required to get the activity completion to re-evaluate, but I tested several times and this was the consistent outcome.)
    • Affected Branches:
      MOODLE_30_STABLE, MOODLE_31_STABLE
    • Fixed Branches:
      MOODLE_30_STABLE, MOODLE_31_STABLE
    • Pull from Repository:
    • Pull 3.1 Branch:
    • Pull Master Branch:
      MDL-54802-master
    • Sprint:
      3.2 Sprint 6

      Description

      The activity completion for a quiz is configured to require a passing grade. The passing grade for the quiz is set to 0. When a student completes the quiz with any score the quiz activity is not marked as completed.

      The "require passing grade" activity completion condition works correctly with any "grade to pass" value other than 0.

      There likely is not a pedagogical basis for conditioning activity completion on a passing grade of 0 (use of the "require grade" completion condition would achieve the same results). However, either activity completion should be granted under this configuration or the quiz settings page should prevent the instructor from saving this configuration. For example if the "require passing grade" completion condition has been selected, validate that a value greater than 0 has been entered in "Grade to pass".

      STEPS TO REPLICATE

      1. Create a new quiz activity. In the Grade section of the quiz settings, set "Grade to pass" to 0.00. In the Activity completion section, select "Show activity as complete when conditions are met" and select the "Require passing grade" check box.
      2. Add a few multiple choice or true/false questions to the quiz.
      3. Take the quiz as a student, answering all questions correctly.
      4. Return to the course home.

      OBSERVED BEHAVIOR:
      The quiz is still mark as not completed.

      EXPECTED BEHAVIOR:
      The quiz is marked with a green check mark signify that the activity has been completed.

      REPLICATION LOCATIONS
      I have replicated this issue in test environments on 2.9.3 and 3.0.4.

      ADDITIONAL INVESTIGATION NOTES
      The following query may be used to locate quizzes using the problematic configuration.

      select cm.id, c.shortname as course_shortname, q.name as quiz, gi.gradepass as PassingGrade
      from mdl_course_modules cm
      inner join mdl_modules m on m.id = cm.module
      inner join mdl_course c on c.id = cm.course
      inner join mdl_quiz q on q.id = cm.instance
      inner join mdl_grade_items gi on gi.iteminstance = q.id AND gi.itemmodule = 'quiz'
      where m.name = 'quiz'
      and cm.completion = 2
      and q.completionpass = 1
      and gi.gradepass = 0;

      USER IMPACT
      This issue may cause confusion for both the instructor and students for which it is unclear why the completion conditions are not considered to be met. If completion of the quiz activity is a condition for course completion, course completion status is also impacted. However, once recognized, the issue may be quickly rectified by changing the quiz settings and activity completion will be re-evaluated for students with existing attempts (see workaround).

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Votes:
                  0 Vote for this issue
                  Watchers:
                  8 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:
                    Fix Release Date:
                    14/Nov/16