From a599f1402e937dfa869774f3e8345c0c645425fd Mon Sep 17 00:00:00 2001 From: Dhruv Patel Date: Tue, 14 Apr 2020 12:08:34 +0000 Subject: [PATCH] [IMP] web: FieldMany2one: reword and simplify dialog This commit improves the dialog that opens when a user clicks out of an 'un-commited' many2one. It is no longer possible to edit the value, and the sentence has been reworded. closes odoo/odoo#49528 Task: 2234212 Signed-off-by: Aaron Bohy (aab) --- .../static/src/js/fields/relational_fields.js | 16 ++++------------ addons/web/static/src/xml/base.xml | 3 +-- .../relational_fields/field_many2one_tests.js | 3 ++- 3 files changed, 7 insertions(+), 15 deletions(-) diff --git a/addons/web/static/src/js/fields/relational_fields.js b/addons/web/static/src/js/fields/relational_fields.js index b5b6d7252e5..50aeb461ee5 100644 --- a/addons/web/static/src/js/fields/relational_fields.js +++ b/addons/web/static/src/js/fields/relational_fields.js @@ -42,18 +42,14 @@ var M2ODialog = Dialog.extend({ this.name = name; this.value = value; this._super(parent, { - title: _.str.sprintf(_t("Create a %s"), this.name), + title: _t(`New ${this.name}`), size: 'medium', buttons: [{ text: _t('Create'), classes: 'btn-primary', + close: true, click: function () { - if (this.$("input").val() !== ''){ - this.trigger_up('quick_create', { value: this.$('input').val() }); - this.close(true); - } else { - this.$("input").focus(); - } + this.trigger_up('quick_create', { value: this.value }); }, }, { text: _t('Create and edit'), @@ -62,7 +58,7 @@ var M2ODialog = Dialog.extend({ click: function () { this.trigger_up('search_create_popup', { view_type: 'form', - value: this.$('input').val(), + value: this.value, }); }, }, { @@ -71,10 +67,6 @@ var M2ODialog = Dialog.extend({ }], }); }, - start: function () { - this.$("p").text(_.str.sprintf(_t("You are creating a new %s, are you sure it does not exist yet?"), this.name)); - this.$("input").val(this.value); - }, /** * @override * @param {boolean} isSet diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index 3abde74ac51..77d6f264ff2 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -1730,8 +1730,7 @@
-

- Name: + Do you want to create as a new ?

diff --git a/addons/web/static/tests/fields/relational_fields/field_many2one_tests.js b/addons/web/static/tests/fields/relational_fields/field_many2one_tests.js index c2c4942381a..b5efdf3af48 100644 --- a/addons/web/static/tests/fields/relational_fields/field_many2one_tests.js +++ b/addons/web/static/tests/fields/relational_fields/field_many2one_tests.js @@ -2183,7 +2183,7 @@ QUnit.module('fields', {}, function () { }); QUnit.test('quick create on a many2one', async function (assert) { - assert.expect(1); + assert.expect(2); var form = await createView({ View: FormView, @@ -2207,6 +2207,7 @@ QUnit.module('fields', {}, function () { await testUtils.fields.editAndTrigger(form.$('.o_field_many2one input'), 'new partner', ['keyup', 'blur']); await testUtils.dom.click($('.modal .modal-footer .btn-primary').first()); + assert.strictEqual($('.modal .modal-body').text().trim(), "Do you want to create new partner as a new Product?"); form.destroy(); });