From 0c7e7e12af3cfd282940f3eb6f9f73f7dc8944f4 Mon Sep 17 00:00:00 2001 From: "Julien Carion (juca)" Date: Thu, 19 Oct 2023 17:14:20 +0200 Subject: [PATCH] [IMP] web: edit domain button is available while loading records count This commit removes the requirement that the records count should be set before the edit domain button is shown for domains which must be edited in a dialog. This could be annoying in cases the records count loads slowly. task-3561782 closes odoo/odoo#139969 X-original-commit: f2ba825eac5e4bda3d1b1d3676a1b737701c0fb8 Signed-off-by: Mathieu Duckerts-Antoine (dam) Signed-off-by: Julien Carion (juca) --- .../src/views/fields/domain/domain_field.xml | 7 ++-- .../tests/views/fields/domain_field_tests.js | 39 +++++++++++++++++++ 2 files changed, 42 insertions(+), 4 deletions(-) diff --git a/addons/web/static/src/views/fields/domain/domain_field.xml b/addons/web/static/src/views/fields/domain/domain_field.xml index cf6c75a8215..7e208917a8d 100644 --- a/addons/web/static/src/views/fields/domain/domain_field.xml +++ b/addons/web/static/src/views/fields/domain/domain_field.xml @@ -77,10 +77,9 @@ t-on-click="() => this.checkProps()" /> - - - - + + + diff --git a/addons/web/static/tests/views/fields/domain_field_tests.js b/addons/web/static/tests/views/fields/domain_field_tests.js index a37730131fd..575befae9d4 100644 --- a/addons/web/static/tests/views/fields/domain_field_tests.js +++ b/addons/web/static/tests/views/fields/domain_field_tests.js @@ -954,6 +954,45 @@ QUnit.module("Fields", (hooks) => { assert.containsOnce(target, ".modal", "the domain is invalid: the dialog is not closed"); }); + QUnit.test( + "edit domain button is available even while loading records count", + async function (assert) { + serverData.models.partner.fields.display_name.default = "[]"; + patchWithCleanup(odoo, { + debug: true, + }); + const searchCountDeffered = makeDeferred(); + await makeView({ + type: "form", + resModel: "partner", + serverData, + arch: ` +
+ + `, + mockRPC: async (route) => { + if (route === "/web/dataset/call_kw/partner/search_count") { + await searchCountDeffered; + } + if (route === "/web/domain/validate") { + return true; + } + }, + }); + assert.containsNone(target, ".modal"); + assert.containsOnce(target, ".o_field_domain_dialog_button"); + await click(target, ".o_field_domain_dialog_button"); + searchCountDeffered.resolve(); + assert.containsOnce(target, ".modal"); + await click(target, ".modal-footer .btn-primary"); + assert.containsNone(target, ".modal"); + assert.strictEqual( + target.querySelector(".o_domain_show_selection_button").textContent, + "5 record(s) " + ); + } + ); + QUnit.test( "quick check on save if domain has been edited via the debug input", async function (assert) {