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

Forms do not prevent same data submission multiple times.

    XMLWordPrintable

Details

    • MOODLE_24_STABLE, MOODLE_28_STABLE, MOODLE_37_STABLE
    • MOODLE_38_STABLE
    • MDL-38555-master
    • Hide
      1. Go to any course.
      2. Turn editing on.
      3. Add a new activity, and select Forum type.
      4. Do not type in a name for the forum (this will cause client-side validation failure). Scroll down to the bottom and click one of the two Save buttons.
        • EXPECTED: The validation error should show and the browser will probably scroll to it (well when I tried, to slightly below it, but that's a separate issue). If you scroll down to the bottom, the Save buttons are still enabled.
      5. Type in a name for the forum.
      6. Scroll down and click Save and return to course repeatedly, presing the mouse button as fast as you can.
        • EXPECTED: You should probably see the button disable itself visibly before the page reloads.
        • EXPECTED: When the page reloads (showing the course) you should see exactly 1 instance of the new forum.
        • BEFORE FIX: Before this fix, it was usually possible to get 2 instances of the forum (sometimes more).
      7. Create another forum. This time, choose Save and display
        • EXPECTED (no change): The new forum should display instead of the course page. (This is just testing it can still tell which submit button you clicked.)
      Show
      Go to any course. Turn editing on. Add a new activity, and select Forum type. Do not type in a name for the forum (this will cause client-side validation failure). Scroll down to the bottom and click one of the two Save buttons. EXPECTED: The validation error should show and the browser will probably scroll to it (well when I tried, to slightly below it, but that's a separate issue). If you scroll down to the bottom, the Save buttons are still enabled. Type in a name for the forum. Scroll down and click Save and return to course repeatedly, presing the mouse button as fast as you can. EXPECTED: You should probably see the button disable itself visibly before the page reloads. EXPECTED: When the page reloads (showing the course) you should see exactly 1 instance of the new forum. BEFORE FIX: Before this fix, it was usually possible to get 2 instances of the forum (sometimes more). Create another forum. This time, choose Save and display EXPECTED (no change): The new forum should display instead of the course page. (This is just testing it can still tell which submit button you clicked.)

    Description

      It is possible to submit forms in Moodle multiple times if you repeatedly click the submit button.

      This applies to all forms (except when there has been specific action taken to prevent it) but for example, can be seen when adding activities to a course page. If you click the 'Submit and return to website' button multiple times, it will add multiple activities with the same details.

      Attachments

        Issue Links

          Activity

            People

              quen Sam Marshall
              kabalin Ruslan Kabalin
              Tim Hunt Tim Hunt
              Jake Dallimore Jake Dallimore
              Janelle Barcega Janelle Barcega
              Adrian Greeve, Jake Dallimore, Mathew May, Mihail Geshoski, Andrew Lyons, Huong Nguyen, Jun Pataleta, Michael Hawkins, Shamim Rezaie, Simey Lameze, Stevani Andolo, Huong Nguyen, Barbara Ramiro, Bas Brands, Mathew May
              Votes:
              7 Vote for this issue
              Watchers:
              17 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:
                18/Nov/19

                Time Tracking

                  Estimated:
                  Original Estimate - 0 minutes
                  0m
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 1 hour, 40 minutes
                  1h 40m