diff --git a/addons/web/static/src/views/fields/relational_utils.js b/addons/web/static/src/views/fields/relational_utils.js index 268a9432653..4222fc95518 100644 --- a/addons/web/static/src/views/fields/relational_utils.js +++ b/addons/web/static/src/views/fields/relational_utils.js @@ -340,7 +340,7 @@ export class Many2XAutocomplete extends Component { }); } - if (!records.length && !this.activeActions.create) { + if (!records.length && !this.activeActions.createEdit && !this.props.quickCreate) { options.push({ label: _t("No records"), classList: "o_m2o_no_result", diff --git a/addons/web/static/tests/views/fields/many2one_field_tests.js b/addons/web/static/tests/views/fields/many2one_field_tests.js index 17a3cbe479a..e9ba4b51088 100644 --- a/addons/web/static/tests/views/fields/many2one_field_tests.js +++ b/addons/web/static/tests/views/fields/many2one_field_tests.js @@ -1117,14 +1117,45 @@ QUnit.module("Fields", (hooks) => { assert.containsOnce( target.querySelector(".o_field_many2one[name='trululu'] .dropdown-menu"), "li.o_m2o_start_typing", - "autocomplete should contains start typing option" + "autocomplete should contain start typing option" ); await click(target, ".o_field_many2one[name='product_id'] input"); assert.containsNone( target.querySelector(".o_field_many2one[name='product_id'] .dropdown-menu"), "li.o_m2o_start_typing", - "autocomplete should contains start typing option" + "autocomplete should not contain start typing option" + ); + }); + + QUnit.test("many2one with no_create_edit and no_quick_create options should show no records when no result match", async function (assert) { + assert.expect(2); + + await makeView({ + type: "form", + resModel: "partner", + serverData, + arch: ` +
+ + + + + +
`, + }); + + await click(target, ".o_field_many2one[name='product_id'] input"); + assert.containsNone( + target.querySelector(".o_field_many2one[name='product_id'] .dropdown-menu"), + "li.o_m2o_no_result", + "autocomplete should not contain the no records option" + ); + await editInput(target, ".o_field_many2one[name='product_id'] input", "aze"); + assert.containsOnce( + target.querySelector(".o_field_many2one[name='product_id'] .dropdown-menu"), + "li.o_m2o_no_result", + "autocomplete should contain the no records option" ); });