diff options
| author | Géry Debongnie <ged@odoo.com> | 2017-03-07 16:14:05 +0100 |
|---|---|---|
| committer | Aaron Bohy <aab@odoo.com> | 2017-04-11 19:44:38 +0200 |
| commit | 86a87aa8b0dde2237cfe1bb769724e8ed269b62e (patch) | |
| tree | 472de08242d81d1811c23dbfcd4381a903917d85 /addons/web/static/src/js/views | |
| parent | 78c97e6cc4c90036e68ad8f82b3c7d326b321067 (diff) | |
[REF] *: use _rpc method for all rpcs
The _rpc method is now the preferred method to do a rpc, so we need to
update all calls.
Diffstat (limited to 'addons/web/static/src/js/views')
9 files changed, 117 insertions, 104 deletions
diff --git a/addons/web/static/src/js/views/basic/basic_model.js b/addons/web/static/src/js/views/basic/basic_model.js index f04cac96400..04c80764e00 100644 --- a/addons/web/static/src/js/views/basic/basic_model.js +++ b/addons/web/static/src/js/views/basic/basic_model.js @@ -199,7 +199,7 @@ var BasicModel = AbstractModel.extend({ deleteRecords: function (recordIds, modelName, parentID) { var self = this; var records = _.map(recordIds, function (id) { return self.localData[id]; }); - return this.rpc(modelName, 'unlink') + return this._rpc(modelName, 'unlink') .args([_.pluck(records, 'res_id')]) .withContext(session.user_context) // todo: combine with view context .exec() @@ -235,7 +235,7 @@ var BasicModel = AbstractModel.extend({ duplicateRecord: function (recordID) { var self = this; var record = this.localData[recordID]; - return this.rpc(record.model, 'copy') + return this._rpc(record.model, 'copy') .args([record.data.id]) .withContext(this._getContext(record)) .exec() @@ -450,7 +450,7 @@ var BasicModel = AbstractModel.extend({ var self = this; var fields_key = _.without(params.fieldNames, '__last_update'); - return this.rpc(modelName, 'default_get') + return this._rpc(modelName, 'default_get') .args([fields_key]) .withContext(params.context) .exec() @@ -818,7 +818,7 @@ var BasicModel = AbstractModel.extend({ // in the case of a write, only perform the RPC if there are changes to save if (method === 'create' || Object.keys(changes).length) { var args = method === 'write' ? [[record.data.id], changes] : [changes]; - return self.rpc(record.model, method) + return self._rpc(record.model, method) .args(args) .withContext(session.user_context) // todo: combine with view context .exec() @@ -901,7 +901,7 @@ var BasicModel = AbstractModel.extend({ var resIDs = _.map(recordIDs, function (recordID) { return self.localData[recordID].res_id; }); - return this.rpc(parent.model, 'write') + return this._rpc(parent.model, 'write') .args([resIDs, { active: value }]) .exec() .then(this.reload.bind(this, parentID)); @@ -959,7 +959,7 @@ var BasicModel = AbstractModel.extend({ var def; if (!('display_name' in rel_data)) { var field = record.fields[fieldName]; - def = this.rpc(field.relation, 'name_get') + def = this._rpc(field.relation, 'name_get') .args([data.id]) .withContext(record.context) .exec() @@ -1011,7 +1011,7 @@ var BasicModel = AbstractModel.extend({ fields = fields[0]; } return this.mutex.exec(function () { - return self.rpc(record.model, 'onchange') + return self._rpc(record.model, 'onchange') .args([idList, currentData, fields, onchange_spec, context]) .exec() .then(function (result) { @@ -1161,7 +1161,7 @@ var BasicModel = AbstractModel.extend({ // _changes so this is a very specific case) // this could be optimized by registering the fetched records in the list's _cache // so that if a record is removed and then re-added, it won't be fetched twice - var def = this.rpc(list.model, 'read') + var def = this._rpc(list.model, 'read') .args([_.pluck(data, 'id'), list.fieldNames]) .exec() .then(function (records) { @@ -1257,7 +1257,7 @@ var BasicModel = AbstractModel.extend({ _fetchMany2OneGroup: function (group) { var ids = _.uniq(_.pluck(group, 'res_id')); - return this.rpc(group[0].model, 'name_get') + return this._rpc(group[0].model, 'name_get') .args([ids]) .withContext(group[0].context) .exec() @@ -1281,7 +1281,7 @@ var BasicModel = AbstractModel.extend({ model = many2oneRecord.model; return many2oneRecord.res_id; }); - return this.rpc(model, 'name_get') + return this._rpc(model, 'name_get') .args([ids]) .withContext(list.context) .exec() @@ -1303,7 +1303,7 @@ var BasicModel = AbstractModel.extend({ var self = this; fieldNames = fieldNames || _.uniq(record.fieldNames.concat(['display_name'])); var oldData = record.data; - return this.rpc(record.model, 'read') + return this._rpc(record.model, 'read') .args([[record.res_id], fieldNames]) // .withContext({ bin_size: true }) // FIXME: when editing a subrecord in the partner form view, it tries to write the bin_size on the image field .exec() @@ -1495,7 +1495,7 @@ var BasicModel = AbstractModel.extend({ } // step 2: fetch data from server - return this.rpc(field.relation, 'read') + return this._rpc(field.relation, 'read') .args([ids, _.keys(field.relatedFields)]) .withContext({}) // FIXME .exec() @@ -1817,13 +1817,13 @@ var BasicModel = AbstractModel.extend({ }); var domain = Domain.prototype.stringToArray(field.domain || [], field_values); var fold_field = pyeval.py_eval(attrs.options || '{}').fold_field; - var fetch_status_information = self.rpc(field.relation, 'search_read') + var fetch_status_information = self._rpc(field.relation, 'search_read') .withFields(['id'].concat(fold_field ? [fold_field] : [])) .withDomain(domain) .exec() .then(function (result) { var ids = _.pluck(result.records, 'id'); - return self.rpc(field.relation, 'name_get') + return self._rpc(field.relation, 'name_get') .args([ids]) .withContext(self._getContext(record, {fieldName: name})) .exec() @@ -1841,7 +1841,7 @@ var BasicModel = AbstractModel.extend({ } if (field.__always_reload) { if (record.data[name] instanceof Array) { - defs.push(self.rpc(field.relation, 'name_get') + defs.push(self._rpc(field.relation, 'name_get') .args([record.data[name][0]]) .withContext(self._getContext(record, {fieldName: name})) .exec() @@ -1851,7 +1851,7 @@ var BasicModel = AbstractModel.extend({ } } if (field.__fetch_selection && !self.many2ones[field.relation]) { - var fetchSelection = self.rpc(field.relation, 'name_search') + var fetchSelection = self._rpc(field.relation, 'name_search') .args(['', field.domain]) .exec() .then(function (result) { @@ -1860,7 +1860,7 @@ var BasicModel = AbstractModel.extend({ defs.push(fetchSelection); } if (field.__fetch_many2manys) { - var fetchMany2Manys = self.rpc(field.relation, 'name_search') + var fetchMany2Manys = self._rpc(field.relation, 'name_search') .args(['', field.domain]) .exec() .then(function (result) { @@ -1885,7 +1885,7 @@ var BasicModel = AbstractModel.extend({ _readGroup: function (list) { var self = this; var fields = _.uniq(list.fieldNames.concat(list.groupedBy)); - return this.rpc(list.model, 'read_group') + return this._rpc(list.model, 'read_group') .withFields(fields) .withContext(list.context) .groupBy(list.groupedBy) @@ -1969,7 +1969,7 @@ var BasicModel = AbstractModel.extend({ } } if (missingIds.length) { - def = this.rpc(list.model, 'read') + def = this._rpc(list.model, 'read') .args([missingIds, list.fieldNames]) .withContext({}) // FIXME .exec(); @@ -2029,7 +2029,7 @@ var BasicModel = AbstractModel.extend({ */ _searchReadUngroupedList: function (list) { var self = this; - return this.rpc(list.model, 'search_read') + return this._rpc(list.model, 'search_read') .withFields(list.fieldNames) .withDomain(list.domain || []) .withLimit(list.limit) diff --git a/addons/web/static/src/js/views/calendar/calendar_controller.js b/addons/web/static/src/js/views/calendar/calendar_controller.js index 5f1b37a4a32..4e0ace6926b 100644 --- a/addons/web/static/src/js/views/calendar/calendar_controller.js +++ b/addons/web/static/src/js/views/calendar/calendar_controller.js @@ -103,7 +103,9 @@ var CalendarController = AbstractController.extend({ _updateRecord: function (record) { // Cannot modify actual name yet var data = _.omit(this.model.calendarEventToRecord(record), 'name'); - this.performModelRPC(this.model.modelName, 'write', [record.id, data]) + this._rpc(this.model.modelName, 'write') + .args([record.id, data]) + .exec() .then(this.reload.bind(this)); }, @@ -229,7 +231,9 @@ var CalendarController = AbstractController.extend({ click: function () { Dialog.confirm(this, _t("Are you sure you want to delete this record ?"), { confirm_callback: function () { - self.performModelRPC(self.modelName, 'unlink', [id]) + self._rpc(self.modelName, 'unlink') + .args([id]) + .exec() .then(function () { self.dialog.destroy(); self.reload(); diff --git a/addons/web/static/src/js/views/calendar/calendar_model.js b/addons/web/static/src/js/views/calendar/calendar_model.js index 1d25fbb839f..6617854e9ad 100644 --- a/addons/web/static/src/js/views/calendar/calendar_model.js +++ b/addons/web/static/src/js/views/calendar/calendar_model.js @@ -127,9 +127,10 @@ return AbstractModel.extend({ * @returns */ deleteRecords: function (ids, model) { - return this.performModelRPC(model, 'unlink', [ids], { - context: session.user_context, // todo: combine with view context - }); + return this._rpc(model, 'unlink') + .args([ids]) + .withContext(session.user_context) // todo: combine with view context + .exec(); }, /** * @override @@ -166,8 +167,8 @@ return AbstractModel.extend({ if (!this.preload_def) { this.preload_def = $.Deferred(); $.when( - this.performModelRPC(this.modelName, 'check_access_rights', ["write", false]), - this.performModelRPC(this.modelName, 'check_access_rights', ["create", false])) + this._rpc(this.modelName, 'check_access_rights').args(["write", false]).exec(), + this._rpc(this.modelName, 'check_access_rights').args(["create", false]).exec()) .then(function (write, create) { self.write_right = write; self.create_right = create; @@ -362,18 +363,18 @@ return AbstractModel.extend({ var defs = _.map(this.data.filters, this._loadFilter.bind(this)); return $.when.apply($, defs).then(function () { - return self.performRPC('/web/dataset/search_read', { - model: self.modelName, - context: self.data.context, - domain: self.data.domain.concat(self._getRangeDomain()).concat(self._getFilterDomain()), - fields: self.fieldNames, - }).then(function (events) { - self.data.data = _.map(events.records, self._recordToCalendarEvent.bind(self)); - return $.when( - self._loadColors(self.data, self.data.data), - self._loadRecordsToFilters(self.data, self.data.data) - ); - }); + return self._rpc(self.modelName, 'search_read') + .withContext(self.data.context) + .withFields(self.fieldNames) + .withDomain(self.data.domain.concat(self._getRangeDomain()).concat(self._getFilterDomain())) + .exec() + .then(function (events) { + self.data.data = _.map(events.records, self._recordToCalendarEvent.bind(self)); + return $.when( + self._loadColors(self.data, self.data.data), + self._loadRecordsToFilters(self.data, self.data.data) + ); + }); }); }, /** @@ -402,54 +403,54 @@ return AbstractModel.extend({ } var field = this.fields[filter.fieldName]; - return this.performRPC('/web/dataset/search_read', { - model: filter.write_model, - domain: [["user_id", "=", session.uid]], - fields: [filter.write_field] - }).then(function (res) { - var records = _.map(res.records, function (record) { - var _value = record[filter.write_field]; - var value = _.isArray(_value) ? _value[0] : _value; - var f = _.find(filter.filters, function (f) {return f.value === value;}); - var formater = field_utils.format[_.contains(['many2many', 'one2many'], field.type) ? 'many2one' : field.type]; - return { - 'id': record.id, - 'value': value, - 'label': formater(_value, field), - 'active': !f || f.active, - }; - }); - records.sort(function (f1,f2) { - return _.string.naturalCmp(f2.label, f1.label); - }); - - // add my profile - if (field.relation === 'res.partner' || field.relation === 'res.users') { - var value = field.relation === 'res.partner' ? session.partner_id : session.uid; - var me = _.find(records, function (record) { - return record.value === value; - }); - if (me) { - records.splice(records.indexOf(me), 1); - } else { + return this._rpc(filter.write_model, 'search_read') + .withDomain([["user_id", "=", session.uid]]) + .withFields([filter.write_field]) + .exec() + .then(function (res) { + var records = _.map(res.records, function (record) { + var _value = record[filter.write_field]; + var value = _.isArray(_value) ? _value[0] : _value; var f = _.find(filter.filters, function (f) {return f.value === value;}); - me = { + var formater = field_utils.format[_.contains(['many2many', 'one2many'], field.type) ? 'many2one' : field.type]; + return { + 'id': record.id, 'value': value, - 'label': session.name + _t(" [Me]"), + 'label': formater(_value, field), 'active': !f || f.active, }; + }); + records.sort(function (f1,f2) { + return _.string.naturalCmp(f2.label, f1.label); + }); + + // add my profile + if (field.relation === 'res.partner' || field.relation === 'res.users') { + var value = field.relation === 'res.partner' ? session.partner_id : session.uid; + var me = _.find(records, function (record) { + return record.value === value; + }); + if (me) { + records.splice(records.indexOf(me), 1); + } else { + var f = _.find(filter.filters, function (f) {return f.value === value;}); + me = { + 'value': value, + 'label': session.name + _t(" [Me]"), + 'active': !f || f.active, + }; + } + records.unshift(me); } - records.unshift(me); - } - // add all selection - records.push({ - 'value': 'all', - 'label': field.relation === 'res.partner' || field.relation === 'res.users' ? _t("Everybody's calendars") : _t("Everything"), - 'active': filter.all, - }); + // add all selection + records.push({ + 'value': 'all', + 'label': field.relation === 'res.partner' || field.relation === 'res.users' ? _t("Everybody's calendars") : _t("Everything"), + 'active': filter.all, + }); - filter.filters = records; - }); + filter.filters = records; + }); }, /** * @param {any} element @@ -509,9 +510,12 @@ return AbstractModel.extend({ var defs = []; _.each(to_read, function (ids, model) { - defs.push(self.performModelRPC(model, 'name_get', [_.uniq(ids)]).then(function (res) { - to_read[model] = _.object(res); - })); + defs.push(self._rpc(model, 'name_get') + .args([_.uniq(ids)]) + .exec() + .then(function (res) { + to_read[model] = _.object(res); + })); }); return $.when.apply($, defs).then(function () { _.each(self.data.filters, function (filter) { diff --git a/addons/web/static/src/js/views/calendar/calendar_quick_create.js b/addons/web/static/src/js/views/calendar/calendar_quick_create.js index 326c36ea9eb..008f2d74e04 100644 --- a/addons/web/static/src/js/views/calendar/calendar_quick_create.js +++ b/addons/web/static/src/js/views/calendar/calendar_quick_create.js @@ -122,8 +122,10 @@ var QuickCreate = Dialog.extend({ */ _quickCreate: function (data, options) { var self = this; - return this.performModelRPC(this.modelName, 'create', - [$.extend({}, this.data_template, data)], _.pick(options, 'context')) + return this._rpc(this.modelName, 'create') + .args([$.extend({}, this.data_template, data)]) + .withContext(_.pick(options, 'context')) + .exec() .then(function (id) { self.trigger('added', id); self.$input.val(""); diff --git a/addons/web/static/src/js/views/calendar/calendar_renderer.js b/addons/web/static/src/js/views/calendar/calendar_renderer.js index adea44e8f96..9095e5c13f7 100644 --- a/addons/web/static/src/js/views/calendar/calendar_renderer.js +++ b/addons/web/static/src/js/views/calendar/calendar_renderer.js @@ -92,7 +92,9 @@ var SidebarFilter = Widget.extend(FieldManagerMixin, { var self = this; event.stopPropagation(); var value = event.data.changes[this.write_field].id; - this.model.performModelRPC(this.write_model, 'create', [{'user_id': session.uid,'partner_id': value,}]) + this._rpc(this.write_model, 'create') + .args([{'user_id': session.uid,'partner_id': value,}]) + .exec() .then(function () { self.trigger_up('changeFilter', { 'fieldName': self.fieldName, @@ -117,7 +119,9 @@ var SidebarFilter = Widget.extend(FieldManagerMixin, { var $filter = $(e.currentTarget).closest('.o_calendar_filter_item'); Dialog.confirm(this, _t("Do you really want to delete this filter from favorites ?"), { confirm_callback: function () { - self.performModelRPC(self.write_model, 'unlink', [[$filter.data('id')]]) + self._rpc(self.write_model, 'unlink') + .args([[$filter.data('id')]]) + .exec() .then(function () { self.trigger_up('changeFilter', { 'fieldName': self.fieldName, diff --git a/addons/web/static/src/js/views/graph/graph_model.js b/addons/web/static/src/js/views/graph/graph_model.js index 73578f5c3bc..7bf9757a255 100644 --- a/addons/web/static/src/js/views/graph/graph_model.js +++ b/addons/web/static/src/js/views/graph/graph_model.js @@ -130,13 +130,14 @@ return AbstractModel.extend({ if (this.chart.measure !== '__count__') { fields = fields.concat(this.chart.measure); } - return this.performModelRPC(this.modelName, 'read_group', [], { - context: this.chart.context, - domain: this.chart.domain, - fields: fields, - groupby: this.chart.groupedBy, - lazy: false, - }).then(this._processData.bind(this)); + return this._rpc(this.modelName, 'read_group') + .withContext(this.chart.context) + .withDomain(this.chart.domain) + .withFields(fields) + .groupBy(this.chart.groupedBy) + .lazy(false) + .exec() + .then(this._processData.bind(this)); }, /** * Since read_group is insane and returns its result on different keys diff --git a/addons/web/static/src/js/views/kanban/kanban_controller.js b/addons/web/static/src/js/views/kanban/kanban_controller.js index c51090e1e12..0c7a7f5ee8b 100644 --- a/addons/web/static/src/js/views/kanban/kanban_controller.js +++ b/addons/web/static/src/js/views/kanban/kanban_controller.js @@ -302,7 +302,7 @@ var KanbanController = BasicController.extend({ } data.context['default_' + data.groupedBy[0]] = column.id; - this.rpc(data.model, "name_create") + this._rpc(data.model, "name_create") .args([event.data.value]) .withContext(data.context) .exec() diff --git a/addons/web/static/src/js/views/kanban/kanban_model.js b/addons/web/static/src/js/views/kanban/kanban_model.js index 1448ea35ca7..780039edacc 100644 --- a/addons/web/static/src/js/views/kanban/kanban_model.js +++ b/addons/web/static/src/js/views/kanban/kanban_model.js @@ -77,11 +77,9 @@ return BasicModel.extend({ var data = self.localData[parent_id]; var def; if (data.fields.sequence) { - def = this.performRPC('/web/dataset/resequence', { - model: modelName, - ids: res_ids, - // fixme: correctly handle context - }); + def = this._rpc('/web/dataset/resequence') + .params({model: modelName, ids: res_ids}) + .exec(); } return $.when(def).then(function () { data.data = _.sortBy(data.data, function (d) { @@ -98,7 +96,7 @@ return BasicModel.extend({ if (!groupByField || groupByField.type !== 'many2one') { return $.Deferred().reject(); // only supported when grouped on m2o } - return this.rpc(groupByField.relation, 'name_create') + return this._rpc(groupByField.relation, 'name_create') .args([name]) .withContext(parent.context) // todo: combine with view context .exec() diff --git a/addons/web/static/src/js/views/pivot/pivot_model.js b/addons/web/static/src/js/views/pivot/pivot_model.js index 8683a6adbce..f1998e01e1a 100644 --- a/addons/web/static/src/js/views/pivot/pivot_model.js +++ b/addons/web/static/src/js/views/pivot/pivot_model.js @@ -82,7 +82,7 @@ var PivotModel = AbstractModel.extend({ } return $.when.apply(null, groupbys.map(function (groupBy) { - return self.rpc(self.modelName, 'read_group') + return self._rpc(self.modelName, 'read_group') .withContext(self.data.context) .withDomain(header.domain.length ? header.domain : self.data.domain) .withFields(_.map(fields, function (field) { return field.split(':')[0]; })) @@ -513,7 +513,7 @@ var PivotModel = AbstractModel.extend({ } return $.when.apply(null, groupBys.map(function (groupBy) { - return self.rpc(self.modelName, 'read_group') + return self._rpc(self.modelName, 'read_group') .withContext(self.data.context) .withDomain(self.data.domain) .withFields(_.map(fields, function (field) { return field.split(':')[0]; })) |
