From 6bbdd15817913da85e4a4144500c563f79d7e2e6 Mon Sep 17 00:00:00 2001 From: kcv-odoo Date: Thu, 18 Jan 2024 16:36:04 +0530 Subject: [PATCH] [FIX] partner_autocomplete: fix quick creation issue Before this commit auto complete suggestion were showing on partner field even though there is no_create attribute on partner field and because of that user can create partner record from that field even though user is not allow to create record from it and also it gives trackback in partner portal field because of access_token. This commit prevent auto complete suggestion when partner field has no_create attribute set on them to avoid unnecessary partner creation from that field. task-3690532 X-original-commit: ba2edab747db2c89d06feb9422d7f53a759766ae Part-of: odoo/odoo#150279 --- .../src/js/partner_autocomplete_many2one.js | 7 ++++++- .../tests/partner_autocomplete_tests.js | 20 +++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/addons/partner_autocomplete/static/src/js/partner_autocomplete_many2one.js b/addons/partner_autocomplete/static/src/js/partner_autocomplete_many2one.js index 57686a5aa15..7ae78a04405 100644 --- a/addons/partner_autocomplete/static/src/js/partner_autocomplete_many2one.js +++ b/addons/partner_autocomplete/static/src/js/partner_autocomplete_many2one.js @@ -18,7 +18,12 @@ export class PartnerMany2XAutocomplete extends Many2XAutocomplete { } get sources() { - return super.sources.concat( + const sources = super.sources; + if (!this.props.quickCreate) + { + return sources; + } + return sources.concat( { options: async (request) => { if (this.validateSearchTerm(request)) { diff --git a/addons/partner_autocomplete/static/tests/partner_autocomplete_tests.js b/addons/partner_autocomplete/static/tests/partner_autocomplete_tests.js index 8737ba8cc04..7d166e3fee7 100644 --- a/addons/partner_autocomplete/static/tests/partner_autocomplete_tests.js +++ b/addons/partner_autocomplete/static/tests/partner_autocomplete_tests.js @@ -358,4 +358,24 @@ QUnit.module('partner_autocomplete', { await triggerEvent(input, null, "blur"); assert.containsOnce(target, ".o_dialog"); }); + + QUnit.test("Hide auto complate suggestion for no create", async function (assert) { + const partnerMakeViewParams = { + ...makeViewParams, + arch: + `
+ + + ` + } + await makeView(partnerMakeViewParams); + const input = target.querySelector("[name='parent_id'] input"); + await editInputNoChangeEvent(input, "blabla"); + const autocompleteContainer = input.parentElement; + assert.containsNone( + autocompleteContainer, + ".o-autocomplete--dropdown-item.partner_autocomplete_dropdown_many2one", + "There should be no option when partner field has no_create attribute" + ); + }); });