summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/core/rpc.js
diff options
context:
space:
mode:
authorSébastien Theys <seb@odoo.com>2020-06-15 18:12:21 +0000
committerSébastien Theys <seb@odoo.com>2020-06-15 18:12:21 +0000
commit3fea5b2136627c1d7e83b2a5e111952fe3eb10a1 (patch)
tree5eefad07972a87ce4689b83260f981bc87aadad4 /addons/web/static/src/js/core/rpc.js
parent0a82848606151ef60eb6523e9c4c161171f214e7 (diff)
[REF] mail, *: refactor messaging with OWL
This commit is a significant rewriting of client-side discuss, chatter, chat window, and messaging menu using OWL. The behavior should be broadly the same, with some slight functional changes here and there. From a technical standpoint, the code of messaging is mainly organized in 2 main groups of modules: - models, which are logical entities that depict the client-side state of messaging as a whole. - components, which are in charge of displaying information from models. This refactoring also introduces new JS guidelines regarding folder structure (/static) and naming rules for JS modules. Community PR: https://github.com/odoo/odoo/pull/39023 Enterprise PR: https://github.com/odoo/enterprise/pull/6249 Task-1914207 This PR is a collaborative work by Alexandre, Julien, Sébastien and Xavier, with the precious help of Lucas to speed it up towards the end. closes odoo/odoo#39023 Related: odoo/enterprise#6249 Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com> Co-authored-by: Alexandre Kühn <aku@odoo.com> Co-authored-by: Julien Giannone <jgi@odoo.com> Co-authored-by: Lucas Perais <lpe@odoo.com> Co-authored-by: Sébastien Theys <seb@odoo.com> Co-authored-by: Xavier Dubuc <xdu@odoo.com>
Diffstat (limited to 'addons/web/static/src/js/core/rpc.js')
-rw-r--r--addons/web/static/src/js/core/rpc.js14
1 files changed, 8 insertions, 6 deletions
diff --git a/addons/web/static/src/js/core/rpc.js b/addons/web/static/src/js/core/rpc.js
index b09f7542b5c..e0d33355001 100644
--- a/addons/web/static/src/js/core/rpc.js
+++ b/addons/web/static/src/js/core/rpc.js
@@ -3,7 +3,7 @@ odoo.define('web.rpc', function (require) {
var ajax = require('web.ajax');
-return {
+const rpc = {
/**
* Perform a RPC. Please note that this is not the preferred way to do a
* rpc if you are in the context of a widget. In that case, you should use
@@ -14,7 +14,7 @@ return {
* @returns {Promise<any>}
*/
query: function (params, options) {
- var query = this.buildQuery(params);
+ var query = rpc.buildQuery(params);
return ajax.rpc(query.route, query.params, options);
},
/**
@@ -66,14 +66,14 @@ return {
// In kwargs, we look for "orderby" rather than "orderBy" (note the absence of capital B),
// since the Python argument to the actual function is "orderby".
orderBy = options.orderBy || params.orderBy || params.kwargs.orderby;
- params.kwargs.orderby = orderBy ? this._serializeSort(orderBy) : orderBy;
+ params.kwargs.orderby = orderBy ? rpc._serializeSort(orderBy) : orderBy;
params.kwargs.lazy = 'lazy' in options ? options.lazy : params.lazy;
if (options.method === 'web_read_group') {
params.kwargs.expand = options.expand || params.expand || params.kwargs.expand;
params.kwargs.expand_limit = options.expand_limit || params.expand_limit || params.kwargs.expand_limit;
var expandOrderBy = options.expand_orderby || params.expand_orderby || params.kwargs.expand_orderby;
- params.kwargs.expand_orderby = expandOrderBy ? this._serializeSort(expandOrderBy) : expandOrderBy;
+ params.kwargs.expand_orderby = expandOrderBy ? rpc._serializeSort(expandOrderBy) : expandOrderBy;
}
}
@@ -86,7 +86,7 @@ return {
// In kwargs, we look for "order" rather than "orderBy" since the Python
// argument to the actual function is "order".
orderBy = options.orderBy || params.orderBy || params.kwargs.order;
- params.kwargs.order = orderBy ? this._serializeSort(orderBy) : orderBy;
+ params.kwargs.order = orderBy ? rpc._serializeSort(orderBy) : orderBy;
}
if (options.route === '/web/dataset/search_read') {
@@ -97,7 +97,7 @@ return {
params.limit = options.limit || params.limit;
params.offset = options.offset || params.offset;
orderBy = options.orderBy || params.orderBy;
- params.sort = orderBy ? this._serializeSort(orderBy) : orderBy;
+ params.sort = orderBy ? rpc._serializeSort(orderBy) : orderBy;
params.context = options.context || params.context || {};
}
@@ -123,4 +123,6 @@ return {
},
};
+return rpc;
+
});