From: Coleman Watts Date: Sun, 22 May 2022 17:59:27 +0000 (-0400) Subject: Revert "SearchKit - Use POST to send contact ids to action forms" X-Git-Url: https://vcs.fsf.org/?a=commitdiff_plain;h=2584c49d60786b43fb74c081e403615b368df0ac;p=civicrm-core.git Revert "SearchKit - Use POST to send contact ids to action forms" This reverts commit 1297a574fd3e28d4714c145627b35c08e5933675. --- diff --git a/CRM/Core/Controller.php b/CRM/Core/Controller.php index 7b0a5a4773..f31e5f963f 100644 --- a/CRM/Core/Controller.php +++ b/CRM/Core/Controller.php @@ -300,10 +300,7 @@ class CRM_Core_Controller extends HTML_QuickForm_Controller { // https://github.com/civicrm/civicrm-core/pull/17324 // and/or related get merged, then we should remove the REQUEST reference here. $key = $_POST['qfKey'] ?? $_GET['qfKey'] ?? $_REQUEST['qfKey'] ?? NULL; - // Allow POST if `$_GET['reset'] == 1` because standalone search actions require a - // (potentially large) amount of data to the server and must make the page request using POST. - // See https://lab.civicrm.org/dev/core/-/issues/3222 - if (!$key && (!empty($_GET['reset']) || in_array($_SERVER['REQUEST_METHOD'], ['GET', 'HEAD']))) { + if (!$key && in_array($_SERVER['REQUEST_METHOD'], ['GET', 'HEAD'])) { // Generate a key if this is an initial request without one. // We allow HEAD here because it is used by bots to validate URLs, so if // we issue a 500 server error to them they may think the site is broken. diff --git a/ext/search_kit/Civi/Api4/Action/SearchDisplay/GetSearchTasks.php b/ext/search_kit/Civi/Api4/Action/SearchDisplay/GetSearchTasks.php index 97286984e3..b0ded1f45e 100644 --- a/ext/search_kit/Civi/Api4/Action/SearchDisplay/GetSearchTasks.php +++ b/ext/search_kit/Civi/Api4/Action/SearchDisplay/GetSearchTasks.php @@ -41,8 +41,7 @@ class GetSearchTasks extends \Civi\Api4\Generic\AbstractAction { 'icon' => 'fa-file-excel-o', 'crmPopup' => [ 'path' => "'civicrm/export/standalone'", - 'query' => "{reset: 1, entity: '{$entity['name']}'}", - 'data' => "{id: ids.join(',')}", + 'query' => "{reset: 1, entity: '{$entity['name']}', id: ids.join(',')}", ], ]; } @@ -105,8 +104,7 @@ class GetSearchTasks extends \Civi\Api4\Generic\AbstractAction { 'icon' => $task['icon'] ?? 'fa-gear', 'crmPopup' => [ 'path' => "'{$task['url']}'", - 'query' => "{reset: 1}", - 'data' => "{cids: ids.join(',')}", + 'query' => "{reset: 1, cids: ids.join(',')}", ], ]; } @@ -143,7 +141,7 @@ class GetSearchTasks extends \Civi\Api4\Generic\AbstractAction { 'icon' => $task['icon'] ?? 'fa-gear', 'crmPopup' => [ 'path' => "'{$task['url']}'", - 'data' => "{id: ids.join(',')}", + 'query' => "{id: ids.join(',')}", ], ]; } diff --git a/ext/search_kit/ang/crmSearchTasks/crmSearchTasks.component.js b/ext/search_kit/ang/crmSearchTasks/crmSearchTasks.component.js index 639bc4cfdd..4910dcdd19 100644 --- a/ext/search_kit/ang/crmSearchTasks/crmSearchTasks.component.js +++ b/ext/search_kit/ang/crmSearchTasks/crmSearchTasks.component.js @@ -67,7 +67,7 @@ if (action.crmPopup) { var path = $scope.$eval(action.crmPopup.path, data), query = action.crmPopup.query && $scope.$eval(action.crmPopup.query, data); - CRM.loadForm(CRM.url(path, query), {post: action.crmPopup.data && $scope.$eval(action.crmPopup.data, data)}) + CRM.loadForm(CRM.url(path, query)) .on('crmFormSuccess', ctrl.refresh); } // If action uses dialogService diff --git a/js/crm.ajax.js b/js/crm.ajax.js index 57ed34f993..4cb20cd03e 100644 --- a/js/crm.ajax.js +++ b/js/crm.ajax.js @@ -202,7 +202,6 @@ options: { url: null, block: true, - post: null, crmForm: null }, _originalContent: null, @@ -288,22 +287,12 @@ return false; }); }, - _ajax: function(url) { - if (!this.options.post || !this.isOriginalUrl()) { - return $.getJSON(url); - } - return $.post({ - url: url, - dataType: 'json', - data: this.options.post - }); - }, refresh: function() { var that = this; var url = this._formatUrl(this.options.url, 'json'); if (this.options.crmForm) $('form', this.element).ajaxFormUnbind(); if (this.options.block) this.element.block(); - this._ajax(url).then(function(data) { + $.getJSON(url, function(data) { if (data.status === 'redirect') { that.options.url = data.userContext; return that.refresh(); @@ -332,7 +321,7 @@ $('[name="'+formElement+'"]', that.element).crmError(msg); }); } - }, function(data, msg, status) { + }).fail(function(data, msg, status) { that._onFailure(data, status); }); },