diff --git a/addons/web/static/src/js/_deprecated/data.js b/addons/web/static/src/js/_deprecated/data.js index 791693bce67..f6a58367903 100644 --- a/addons/web/static/src/js/_deprecated/data.js +++ b/addons/web/static/src/js/_deprecated/data.js @@ -760,6 +760,9 @@ function rawify (data) { // replaces the value of relational fields by their raw value (the id, if // any, for many2ones and an array of ids for x2manys), in turn return _.mapObject(data, function (value) { + if (value instanceof moment) { + return moment; + } if (_.isObject(value)) { return value.type === 'record' ? value.res_id : value.res_ids; } diff --git a/addons/web/static/test/fields/relational_fields_tests.js b/addons/web/static/test/fields/relational_fields_tests.js index 50d0ddbeef8..e101bd2d8fd 100644 --- a/addons/web/static/test/fields/relational_fields_tests.js +++ b/addons/web/static/test/fields/relational_fields_tests.js @@ -345,6 +345,31 @@ QUnit.module('relational_fields', { form.$('input').click(); }); + QUnit.test('autocompletion in a many2one, in form view with a date field', function (assert) { + assert.expect(1); + + var form = createView({ + View: FormView, + model: 'partner', + data: this.data, + arch: '
' + + '' + + '' + + '' + + '', + res_id: 2, + mockRPC: function (route, args) { + if (args.method === 'name_search') { + assert.deepEqual(args.kwargs.args, [["bar", "=", true]], "should not have a domain"); + } + return this._super(route, args); + }, + }); + form.$buttons.find('.o_form_button_edit').click(); + + form.$('input:eq(2)').click(); + }); + QUnit.test('creating record with many2one with option always_reload', function (assert) { assert.expect(2);