From 596af12c21ae1df4679bfc526c6724e9b5453e0b Mon Sep 17 00:00:00 2001 From: "Lucas Perais (lpe)" Date: Fri, 16 Nov 2018 13:25:24 +0000 Subject: [FIX] web: dateField datepicker don't propagate field options In a form view (account.invoice), have a date field as: Open a record with the field set to a value Click Edit, click save Click create Before this commit, the value of the field of the new record took the one of the previous record On account invoices, it resulted on having the popup "The record has been modified etc...." And it was not possible to create an invoice from another one this was because we passed the same reference object for the datepicker After this commit, there is no popup as the field do not take a value from the framework OPW 1906085 closes odoo/odoo#28759 --- .../web/static/tests/fields/basic_fields_tests.js | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'addons/web/static/tests/fields/basic_fields_tests.js') diff --git a/addons/web/static/tests/fields/basic_fields_tests.js b/addons/web/static/tests/fields/basic_fields_tests.js index f1640b06c82..eaa4a53e5db 100644 --- a/addons/web/static/tests/fields/basic_fields_tests.js +++ b/addons/web/static/tests/fields/basic_fields_tests.js @@ -2776,6 +2776,42 @@ QUnit.module('basic_fields', { form.destroy(); }); + QUnit.test('date field with warn_future option: do not overwrite datepicker option', function (assert) { + assert.expect(2); + + // Making sure we don't have a legit default value + // or any onchange that would set the value + this.data.partner.fields.date.default = undefined; + this.data.partner.onchanges = {}; + + var form = createView({ + View: FormView, + model: 'partner', + data: this.data, + arch:'
' + + '' + // Do not let the date field get the focus in the first place + '' + + '', + res_id: 1, + }); + + // switch to edit mode + form.$buttons.find('.o_form_button_edit').click(); + assert.strictEqual(form.$('input[name="date"]').val(), '02/03/2017', + 'The existing record should have a value for the date field'); + + // save with no changes + form.$buttons.find('.o_form_button_save').click(); + + //Create a new record + form.$buttons.find('.o_form_button_create').click(); + + assert.notOk(form.$('input[name="date"]').val(), + 'The new record should not have a value that the framework would have set'); + + form.destroy(); + }); + QUnit.test('date field in editable list view', function (assert) { assert.expect(8); -- cgit v1.2.3