From d7c12e6039cb027a51b6fb92146ce6b81fc4bbab Mon Sep 17 00:00:00 2001 From: Joseph Caburnay Date: Thu, 2 Mar 2023 12:33:10 +0000 Subject: [PATCH] [FIX] partner_autocomplete: show confirmation dialog on blur Make the res_partner_many2one behave similarly to the many2one field during blur where a confirmation dialog is shown. closes odoo/odoo#118008 Task-id: 3205625 X-original-commit: 198fdca401ff6b0062111f513138af76eeb68e23 Signed-off-by: Aaron Bohy (aab) --- .../static/src/js/partner_autocomplete_many2one.js | 4 ++-- .../static/tests/partner_autocomplete_tests.js | 12 ++++++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) 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 a8daeb68873..2b6664c05f5 100644 --- a/addons/partner_autocomplete/static/src/js/partner_autocomplete_many2one.js +++ b/addons/partner_autocomplete/static/src/js/partner_autocomplete_many2one.js @@ -38,7 +38,7 @@ export class PartnerMany2XAutocomplete extends Many2XAutocomplete { ); } - async onSelect(option) { + async onSelect(option, params) { if (option.partner_gid) { // Checks that it is a partner autocomplete option const data = await this.partner_autocomplete.getCreateData(Object.getPrototypeOf(option)); let context = { @@ -55,7 +55,7 @@ export class PartnerMany2XAutocomplete extends Many2XAutocomplete { return this.openMany2X({ context }); } else { - return super.onSelect(option); + return super.onSelect(option, params); } } diff --git a/addons/partner_autocomplete/static/tests/partner_autocomplete_tests.js b/addons/partner_autocomplete/static/tests/partner_autocomplete_tests.js index 74bdb16bbc7..8737ba8cc04 100644 --- a/addons/partner_autocomplete/static/tests/partner_autocomplete_tests.js +++ b/addons/partner_autocomplete/static/tests/partner_autocomplete_tests.js @@ -8,6 +8,7 @@ import { getFixture, patchWithCleanup, triggerEvent, + editInput, } from "@web/../tests/helpers/utils"; import { makeView, setupViewRegistries } from "@web/../tests/views/helpers"; import { loadJS } from "@web/core/assets"; @@ -346,4 +347,15 @@ QUnit.module('partner_autocomplete', { assert.strictEqual(target.querySelector(`[name=${fieldName}] input`).value, expectedValue, `${fieldName} should be filled`); } }); + + QUnit.test("Show confirmation dialog on input blur", async function (assert) { + assert.expect(1); + await makeView(makeViewParams); + const input = target.querySelector("[name=parent_id] input.o-autocomplete--input.o_input"); + await triggerEvent(input, null, "focus"); + await click(input); + await editInput(input, null, "go"); + await triggerEvent(input, null, "blur"); + assert.containsOnce(target, ".o_dialog"); + }); });