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 416bc33f90f..1562bffdc42 100644 --- a/addons/web/static/src/js/views/basic/basic_model.js +++ b/addons/web/static/src/js/views/basic/basic_model.js @@ -1480,7 +1480,8 @@ var BasicModel = AbstractModel.extend({ def = this._rpc({ model: list.model, method: 'read', - args: [_.pluck(data, 'id'), fieldNames] + args: [_.pluck(data, 'id'), fieldNames], + context: record.context, }).then(function (records) { _.each(records, function (record) { list_records[record.id].data = record; @@ -2399,7 +2400,7 @@ var BasicModel = AbstractModel.extend({ model: field.relation, method: 'read', args: [ids, fieldNames], - context: {}, // FIXME + context: list.getContext() || {}, }); } else { def = $.when(_.map(ids, function (id) { diff --git a/addons/web/static/tests/fields/relational_fields_tests.js b/addons/web/static/tests/fields/relational_fields_tests.js index 01447f46784..42148e6fe88 100644 --- a/addons/web/static/tests/fields/relational_fields_tests.js +++ b/addons/web/static/tests/fields/relational_fields_tests.js @@ -8055,7 +8055,7 @@ QUnit.module('relational_fields', { }); QUnit.test('fieldmany2many tags in editable list', function (assert) { - assert.expect(4); + assert.expect(7); this.data.partner.records[0].timmy = [12]; @@ -8063,10 +8063,18 @@ QUnit.module('relational_fields', { View: ListView, model: 'partner', data: this.data, + context: {take: 'five'}, arch:'' + '' + '' + '', + mockRPC: function (route, args) { + if (args.method === 'read' && args.model === 'partner_type') { + assert.deepEqual(args.kwargs.context, {take: 'five'}, + 'The context should be passed to the RPC'); + } + return this._super.apply(this, arguments); + } }); assert.strictEqual(list.$('.o_data_row:first .o_field_many2manytags .badge').length, 1,