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

Grade condition mark range validation allows for impossible conditions

    Details

    • Testing Instructions:
      Hide

      (On a course, where availability is enabled.)

      1. Select to add a Label. In the form, type the label text.
      2. Under 'Grade condition', select 'Course total' must be at least 50% and less than 50%.
      3. Save changes.
      - A suitable error should be displayed next to the field.
      4. Change so it must be at least 50% and less than 51%.
      5. Save changes.
      - The creation should go through OK.
      6. Edit settings for a section on the course.
      7. Set a grade condition on course total for at least 50% and less than 50%.
      8. Save changes.
      - An error should be displayed.
      9. Change it to less than 51%.
      10. Save changes.
      - The edit should go through.

      Show
      (On a course, where availability is enabled.) 1. Select to add a Label. In the form, type the label text. 2. Under 'Grade condition', select 'Course total' must be at least 50% and less than 50%. 3. Save changes. - A suitable error should be displayed next to the field. 4. Change so it must be at least 50% and less than 51%. 5. Save changes. - The creation should go through OK. 6. Edit settings for a section on the course. 7. Set a grade condition on course total for at least 50% and less than 50%. 8. Save changes. - An error should be displayed. 9. Change it to less than 51%. 10. Save changes. - The edit should go through.
    • Affected Branches:
      MOODLE_23_STABLE
    • Fixed Branches:
      MOODLE_23_STABLE, MOODLE_24_STABLE
    • Pull Master Branch:
      MDL-36412-master

      Description

      I noted that, when adding a grade condition in conditional activities, it is possible to:

      • set percentage values less than 0%
      • set percentage values greater than 100%
      • set the "must be at least" value to be the same as the "and less than" value.

      The first two of these two possibilities are possibly acceptable under some unusual circumstances. Certainly, if the values were constrained to be between 0 and 100%, someone would come up with a case where this is not appropriate.

      For the final possibility, this is a boundary condition. I couldn't find the place where this is actually evaluated in code, but from reading the labels, if the two values are the same, it seems that you could create a condition that a student could never meet. If I am wrong, please correct me, but if not, the validation should probably change so that it does not allow this impossible range.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

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

                  Dates

                  • Created:
                    Updated:
                    Resolved:
                    Fix Release Date:
                    11/Mar/13