From 3cdd77e6873ca099f0f85fe7f6b7294354ecbf71 Mon Sep 17 00:00:00 2001 From: Hadi Nategh Date: Tue, 12 Sep 2017 14:47:08 +0200 Subject: [PATCH] Consider multiple rows ids when calculating row_ids, plus does comma separation and URL encoding --- api/js/etemplate/et2_extension_nextmatch_actions.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/api/js/etemplate/et2_extension_nextmatch_actions.js b/api/js/etemplate/et2_extension_nextmatch_actions.js index aa98a155d8..0100340adc 100644 --- a/api/js/etemplate/et2_extension_nextmatch_actions.js +++ b/api/js/etemplate/et2_extension_nextmatch_actions.js @@ -48,7 +48,14 @@ function nm_action(_action, _senders, _target, _ids) } } // row ids - var row_ids = _ids.ids.slice(0); + var row_ids = ""; + for (var i = 0; i < _ids.ids.length; i++) + { + var row_id = _ids.ids[i]; + row_ids += (row_id.indexOf(',') >= 0 ? '"'+row_id.replace(/"/g,'""')+'"' : row_id) + + ((i < _ids.ids.length - 1) ? "," : ""); + } + // Translate the internal uids back to server uids var idsArr = _ids.ids; for (var i = 0; i < idsArr.length; i++) @@ -77,13 +84,12 @@ function nm_action(_action, _senders, _target, _ids) var url = '#'; if (typeof _action.data.url != 'undefined') { - if (_senders.length == 1 ) // Add selected IDs to url url = _action.data.url.replace(/(\$|%24)id/,encodeURIComponent(ids)) // Include select all flag too .replace(/(\$|%24)select_all/,_ids.all) // Add row_ids to url - .replace(/(\$|%24)row_id/,row_ids); + .replace(/(\$|%24)row_id/,encodeURIComponent(row_ids)); } var target = null;