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 efc7fbc1971..dcc73a2845b 100644 --- a/addons/web/static/src/js/views/basic/basic_model.js +++ b/addons/web/static/src/js/views/basic/basic_model.js @@ -671,7 +671,6 @@ var BasicModel = AbstractModel.extend({ if (method === 'create') { var fieldNames = record.getFieldNames(); _.each(fieldNames, function (name) { - changes[name] = changes[name] || record.data[name]; if (changes[name] === null) { delete changes[name]; } diff --git a/addons/web/static/tests/views/form_tests.js b/addons/web/static/tests/views/form_tests.js index 617dc221651..5635f0cefa2 100644 --- a/addons/web/static/tests/views/form_tests.js +++ b/addons/web/static/tests/views/form_tests.js @@ -3378,5 +3378,29 @@ QUnit.module('Views', { form.destroy(); }); + QUnit.test('create with false values', function (assert) { + assert.expect(1); + var form = createView({ + View: FormView, + model: 'partner', + data: this.data, + arch: '
' + + '' + + '
', + mockRPC: function (route, args) { + if (args.method === 'create') { + assert.strictEqual(args.args[0].bar, false, + "the false value should be given as parameter"); + } + return this._super(route, args); + }, + debug: true, + }); + + form.$buttons.find('.o_form_button_save').click(); + + form.destroy(); + }); + }); });