From 9da93dc2327d43958d47a3f1029f8de86fc007ee Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Wed, 26 Apr 2017 13:47:32 +0200 Subject: [FIX] web: prevent record creation in M2O with option {'no_create': True} before this fix, if you enter a random string and exit focus you'll be prompted to create it. --- .../web/static/tests/fields/basic_fields_tests.js | 10 +++++----- .../static/tests/fields/relational_fields_tests.js | 21 +++++++++++++++++++++ 2 files changed, 26 insertions(+), 5 deletions(-) (limited to 'addons/web/static/tests/fields') diff --git a/addons/web/static/tests/fields/basic_fields_tests.js b/addons/web/static/tests/fields/basic_fields_tests.js index 7ac38cad25f..dbe91188242 100644 --- a/addons/web/static/tests/fields/basic_fields_tests.js +++ b/addons/web/static/tests/fields/basic_fields_tests.js @@ -1409,12 +1409,12 @@ QUnit.module('basic_fields', { 'The value should be displayed properly.'); form.$buttons.find('.o_form_button_edit').click(); - assert.strictEqual(form.$('input.o_form_input').val(), '9.10', + assert.strictEqual(form.$('input.o_form_input').first().val(), '9.10', 'The input should be rendered without the currency symbol.'); assert.strictEqual(form.$('input.o_form_input').parent().children().first().text(), '$', 'The input should be preceded by a span containing the currency symbol.'); - form.$('input.o_form_input').val('108.2458938598598').trigger('input'); + form.$('input.o_form_input').first().val('108.2458938598598').trigger('input'); assert.strictEqual(form.$('input.o_form_input').val(), '108.2458938598598', 'The value should not be formated yet.'); @@ -1450,13 +1450,13 @@ QUnit.module('basic_fields', { 'The value should be displayed properly.'); form.$buttons.find('.o_form_button_edit').click(); - assert.strictEqual(form.$('input.o_form_input').val(), '0.00', + assert.strictEqual(form.$('input.o_form_input').first().val(), '0.00', 'The input should be rendered without the currency symbol.'); assert.strictEqual(form.$('input.o_form_input').parent().children().eq(1).text(), '€', 'The input should be followed by a span containing the currency symbol.'); - form.$('input.o_form_input').val('108.2458938598598').trigger('input'); - assert.strictEqual(form.$('input.o_form_input').val(), '108.2458938598598', + form.$('input.o_form_input').first().val('108.2458938598598').trigger('input'); + assert.strictEqual(form.$('input.o_form_input').first().val(), '108.2458938598598', 'The value should not be formated yet.'); form.$buttons.find('.o_form_button_save').click(); diff --git a/addons/web/static/tests/fields/relational_fields_tests.js b/addons/web/static/tests/fields/relational_fields_tests.js index b497e6da3f4..3996da81854 100644 --- a/addons/web/static/tests/fields/relational_fields_tests.js +++ b/addons/web/static/tests/fields/relational_fields_tests.js @@ -557,6 +557,27 @@ QUnit.module('relational_fields', { form.destroy(); }); + QUnit.test('no_create option on a many2one', function (assert) { + assert.expect(1); + + var form = createView({ + View: FormView, + model: 'partner', + data: this.data, + arch: '
' + + '' + + '' + + '' + + '
', + }); + + form.$('.o_form_field_many2one input').focus(); + form.$('.o_form_field_many2one input').val('new partner').trigger('keyup').trigger('focusout'); + + assert.strictEqual($('.modal').length, 0, "should not display the create modal"); + form.destroy(); + }); + QUnit.module('FieldOne2Many'); QUnit.test('one2many basic properties', function (assert) { -- cgit v1.2.3