diff options
| author | Aaron Bohy <aab@odoo.com> | 2019-03-27 13:38:46 +0000 |
|---|---|---|
| committer | Aaron Bohy <aab@odoo.com> | 2019-04-02 11:57:00 +0000 |
| commit | ca19b17fd3e09d2f4e53208542f4356d3a6ee25a (patch) | |
| tree | 63b092ff0681647cfeba79db64bca051ca45ed0c /addons/web/static/tests/helpers/mock_server.js | |
| parent | d0164d834bb18f37f15a129e911f7d8e1c54b7c3 (diff) | |
[IMP] web: fetch records alongside read_group
This rev. adds params to the 'web_read_group' method, allowing to
search_read records inside each groups in a single RPC, instead of
doing a 'web_read_group' RPC followed by n 'search_read' RPCs,
where n is the number of opened groups.
Part of task 1915702
Diffstat (limited to 'addons/web/static/tests/helpers/mock_server.js')
| -rw-r--r-- | addons/web/static/tests/helpers/mock_server.js | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/addons/web/static/tests/helpers/mock_server.js b/addons/web/static/tests/helpers/mock_server.js index 0eb54bd3e0b..b1427ecb6f4 100644 --- a/addons/web/static/tests/helpers/mock_server.js +++ b/addons/web/static/tests/helpers/mock_server.js @@ -1209,9 +1209,26 @@ var MockServer = Class.extend({ * @param {boolean} kwargs.lazy still mostly ignored * @param {integer} [kwargs.limit] * @param {integer} [kwargs.offset] + * @param {boolean} [kwargs.expand=false] if true, read records inside each + * group + * @param {integer} [kwargs.expand_limit] + * @param {integer} [kwargs.expand_orderby] * @returns {Object[]} */ _mockWebReadGroup: function (model, kwargs) { + var self = this; + var groups = this._mockReadGroup(model, kwargs); + if (kwargs.expand && kwargs.groupby.length === 1) { + groups.forEach(function (group) { + group.__data = self._mockSearchReadController({ + domain: group.__domain, + model: model, + fields: kwargs.fields, + limit: kwargs.expand_limit, + order: kwargs.expand_orderby, + }); + }); + } var allGroups = this._mockReadGroup(model, { domain: kwargs.domain, fields: ['display_name'], @@ -1219,7 +1236,7 @@ var MockServer = Class.extend({ lazy: kwargs.lazy, }); return { - groups: this._mockReadGroup(model, kwargs), + groups: groups, length: allGroups.length, }; }, |
