MDL-70151 assign: Fix bulk change for behat

Behat does not play well with confirmation dialogues and in some
situations it does not wait for the page to reload before starting the
next step.

This change adds a pending_js call which is only resolved if the cancel
button was pressed, otherwise it remains in-progress until the page
reloads resetting the entire state of it.
This commit is contained in:
Andrew Nicols
2020-11-23 11:12:28 +08:00
parent 3cb4a45cb4
commit 069e41e2e0
+3
View File
@@ -76,6 +76,7 @@ M.mod_assign.init_grading_table = function(Y) {
var batchform = Y.one('form.gradingbatchoperationsform');
if (batchform) {
batchform.on('submit', function(e) {
M.util.js_pending('mod_assign/module.js:batch:submit');
checkboxes = Y.all('td.c0 input');
var selectedusers = [];
checkboxes.each(function(node) {
@@ -102,8 +103,10 @@ M.mod_assign.init_grading_table = function(Y) {
confirmmessage = M.util.get_string('batchoperationconfirm' + operation.get('value'), 'assign');
}
if (!confirm(confirmmessage)) {
M.util.js_complete('mod_assign/module.js:batch:submit');
e.preventDefault();
}
// Note: Do not js_complete. The page being reloaded will empty it.
}
});
}