mahara-contributors team mailing list archive
-
mahara-contributors team
-
Mailing list archive
-
Message #38080
[Bug 1560329] A change has been merged
Reviewed: https://reviews.mahara.org/6226
Committed: https://git.mahara.org/mahara/mahara/commit/ac21cd81495d12f277a55d97245ed2dc0bc414fd
Submitter: Robert Lyon (robertl@xxxxxxxxxxxxxxx)
Branch: master
commit ac21cd81495d12f277a55d97245ed2dc0bc414fd
Author: Aaron Wells <aaronw@xxxxxxxxxxxxxxx>
Date: Tue Mar 22 18:56:14 2016 +1300
Better handling of Pieforms validation failure in block modal
Bug 1560329: We were neglecting to rewire the "cancel/remove"
button on a block config after a Pieforms validation failure.
A pieforms validation failure (when you're using Pieforms'
jsforms feature) actually replaces the current form with a
new one, rather than just inserting error messages into the
existing form.
Change-Id: Ie3fa440595b08cc5a49cb89cb7ca95bcfa02c2db
behatnotneeded: Not easy to test with Behat
--
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
Matching subscriptions: Subscription for all Mahara Contributors -- please ask on #mahara-dev or mahara.org forum before editing or unsubscribing it!
https://bugs.launchpad.net/bugs/1560329
Title:
The block config's "cancel" button breaks after a Pieform validation
failure
Status in Mahara:
Fix Committed
Status in Mahara 15.10 series:
In Progress
Status in Mahara 16.04 series:
In Progress
Status in Mahara 16.10 series:
Fix Committed
Bug description:
To replicate:
1. Drag a new "external media" block into your page.
2. In the block config modal that opens up, hit "submit" without filling in the required "URL or embed code" field
3. Press "Submit"
4. Wait for the form to reload and display the warning message telling you about the required field
5. Once that loads up, press the "Cancel" or "Remove" button/link next to the "Submit" button.
Expected result: The block config modal window closes, and the new
external media block is no longer on your page
Actual result: The screen reloads, and you now have an empty "external
media" block on your page
The reason this is happening, is because the Pieforms "cancel" button
by default just reloads the form's action URL, or the cancel button's
"goto" URL. When we load up the block config modal, we use Javascript
code to rewire the cancel button so that it instead closes the modal
and, if the block is new, deletes the block.
However, when Pieforms fails validation, Pieforms actually removes the
current form displayed on the page, and replaces it with a new form
that contains the validation errors. Because this is a completely
different form object, the "rewiring" that we did when we opened the
modal no longer applies.
To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1560329/+subscriptions
References