Yii2 picking up the wrong route on modal - modal-dialog

Something changed between Yii 2.0.3 and 2.0.4 that is breaking my application.
If I have a form open and, within that form, I pop open a modal (with its own post action), the route that fires is the one for the open form, not the modal.
The simplest example is an update form that includes a grid with a delete action on each line item. After prompting for the delete confirmation, the route that fires is the form's update, not the grid's line item delete.
Any ideas? Do I have to move back to 2.0.3? Mahalo.
Best,
Joe

Related

How to build a multistep Drupal 7 form with a Bootstrap popup?

I have a multistep Drupal 7 form. I'd like to show it in a Bootstrap Popup.
This form works fine on a normal page however when I put it into a Bootstrap popup it closes the popup when the first button is pressed.
I use drupal_render(drupal_get_form('MYFORMNAME_form')) to put the form into the popup body.
How can I make this multistep form work properly in the popup?
when you say bootstrap popup, do you mean a modal window (http://getbootstrap.com/javascript/#modals)? Modals in bootstrap are defined inside the body of the page and just hidden/shown as needed. If you want one to act as its own window, you need an iframe in it, because submitting the form will not trigger whatever mechanism you put in place to show the modal dialog in the first place.
Another option is to use code to re-show the modal, with the form at whatever stage it is at, with each page load (next button, etc.)
A last option is to do all of the form navigation via AJAX. Then you don't ever need to put the form inside an iframe nor include code to re-show the modal with each submission of the form, since the page never gets refreshed.
IMHO the iframe is easiest, and a decent option if you don't have any qualms about iframes. You just need to place the form in a separate page and include it inside the iframe. Some theming work will enable you to turn off the normal page chrome that will make your modal look like a miniature version of your site -- you probably don't want your header, navbar, footer, etc. inside the modal.
You could use the Popup forms module. It claims:
Works well with multi-step forms. Just don't add [the] "Next" button id to
[the] 'close_buttons' array to keep [the] popup open [when navigating between steps].
This solution is not using a Boostrap Modal ("Bootstrap popup") though rather a jQuery UI dialog. It requires a bit of custom coding to use this module. Example code is provided on the project page.

Skillbuilders save before exit

I am using the Skillsbuilders Save Before Exit Oracle ApEx plugin within one of my pages but for some reason, I do not want it to fire when the user presses the "Save" button on the page that basically branches back to itself, when they change something on the page.
Now the "Save" button is fired as part of a Dynamic Action, which basically first calls a JavaScript function, followed by PL/SQL and then performs a apex.submit("SUBMIT") JavaScript call.
With this plugin, how can I prevent it from firing when the user presses the "Save" button because when a user changes a field on the screen and then proceeds to press the "Save" button, this plugin fires and displays the dialog to the user that changes have been made, which is not what I want. I just want it to save the changes and stay on the page.
See here for plugin details:
http://apex.oracle.com/pls/apex/f?p=46685:SAVE_BEFORE_EXIT:0:::::
I have read documentation http://skillbuilders.com/download/download-resource.cfm/instructions.pdf?file=Oracle-Apex/plugins/save_before_exit//instructions.pdf
You must change attribute of the plugin named "Disable Warning Selector". Specify jquery selector, applied for all buttons which you want to fire the dialog.

selenium: web form submitting

I have this task as a homework for interview - to test the webpage of popular site. Got a pop up form with some text in the fields. The task is to check is there are fields has been changed.
The page constructed that way, doesent matter if the data changed, popup window just closed with no additional text about it. I have no idea how to deal with it. Is there any commands in selenium checking, if the form has been sent?
add1
This is a PopUp changing profile window. It is shown below with my translations as the red font.
It is obvious, when this window opens, some values are already in the textfields (that is ur name/surname that u've entered before).
When u press the save button, this page checks if the data been changed since this window been opened (did u really changed anything).
The html code of "save" button has been shown on the pic2. U can see javaScript listener on the save button. There are somewhere must be a JS code, that checks if the data been changed and sends the form, and canceling the form sending, if there's no changing.
My Goal is to check using selenium, if the form has been sent.

How to get all the pages validated, not just the current one, when submitting a form?

First I created a form in Orbeon Forms with Form Builder. Next I made it a multi-page form as described in Create a wizard or multi-page form with Form Builder.
The problem I'm facing is that when submitting the form, validation only occurs on the currently visible sections. When submitting, I would like all sections to be validated even though only one section may be visible. What would be the best way to achieve this?
I would recommend you change the code of your "Next" button so it doesn't switch to the following page if there are errors on the current page. You can do so by adding an if "guard" on the <xforms:setvalue> inside the "Next" button, that reads:
if="xxforms:instance('fr-error-summary-instance')/valid = 'true'"
This will also make things easier for users: if you let them navigate to page 2 while there are errors on page 1, when they try to save while on page 2, you will somehow have to tell them that the error is on a previous page, and provide a way for them to navigate to that page.

GWT activity mayStop and Hyperlink issue

I have an activity with a mayStop() method. I am having two issues with it that pertain to a hyperlink on the page.
The first issue is that if I hit refresh or the window's X I get a dialog box that wraps my mayStop() text with "Are you sure you want to navigate away from this page?" and "Press OK to continue, or Cancel to stay on the current page." That is fine.
When I hit the hyperlink, I only see my mayStop() text without the wrapping text. Why is that?
The second issue is that if I hit Cancel in response to the hyperlink click, hitting the link again results in not getting the mayStop() challenge at all. It is as if I am not hitting the hyperlink.
Has anyone run into these issues?
Any thoughts?
Thanks,
Doug
The difference in "behavior" is that the first dialog box is the one from the browser when you try to prevent the user from navigating away, while the other is PlaceController calling Window.confirm(). Each browser uses a different dialog box for the first case, so there's no way to mimic it for everyone, and it's probably not a good thing either (navigating away from the app vs. navigating within the app).
As for your second issue, the events are generated by the browser "history" changing; if you prevent navigating away (from the Place), the URL stays the same (there's noway to know what to do to "rollback" the change: History.back(), History.next(), History.newItem() but then you destroy the existing "next" history ?), so when you click again on the link, you don't make the URL change, and no event is fired.
It's expected that you use PlaceController.goTo to navigate when you use places, not Hyperlink or History.