Reviewed:  https://reviews.mahara.org/6226
Committed: 
https://git.mahara.org/mahara/mahara/commit/ac21cd81495d12f277a55d97245ed2dc0bc414fd
Submitter: Robert Lyon (robe...@catalyst.net.nz)
Branch:    master

commit ac21cd81495d12f277a55d97245ed2dc0bc414fd
Author: Aaron Wells <aar...@catalyst.net.nz>
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

_______________________________________________
Mailing list: https://launchpad.net/~mahara-contributors
Post to     : mahara-contributors@lists.launchpad.net
Unsubscribe : https://launchpad.net/~mahara-contributors
More help   : https://help.launchpad.net/ListHelp

Reply via email to