diff --git a/addons/web/static/src/search/search_model.js b/addons/web/static/src/search/search_model.js index 9e882bd7a11..583a4761b2b 100644 --- a/addons/web/static/src/search/search_model.js +++ b/addons/web/static/src/search/search_model.js @@ -1237,6 +1237,7 @@ export class SearchModel extends EventBus { [category.fieldName], { category_domain: this._getCategoryDomain(category.id), + context: this.globalContext, enable_counters: category.enableCounters, expand: category.expand, filter_domain: filterDomain, @@ -1272,6 +1273,7 @@ export class SearchModel extends EventBus { { category_domain: categoryDomain, comodel_domain: new Domain(filter.domain).toList(evalContext), + context: this.globalContext, enable_counters: filter.enableCounters, filter_domain: this._getFilterDomain(filter.id), expand: filter.expand, diff --git a/addons/web/static/tests/search/search_panel_tests.js b/addons/web/static/tests/search/search_panel_tests.js index ebe53c363c4..a9360d56dfc 100644 --- a/addons/web/static/tests/search/search_panel_tests.js +++ b/addons/web/static/tests/search/search_panel_tests.js @@ -3402,4 +3402,36 @@ QUnit.module("Search", (hooks) => { assert.deepEqual(getCategoriesContent(target), ["All", "gold", "silver"]); }); + + QUnit.test("Category with counters and filter with domain", async (assert) => { + serverData.views["partner,false,search"] = /* xml */ ` + + + + + + `; + + const { TestComponent } = makeTestComponent(); + await makeWithSearch({ + serverData, + Component: TestComponent, + resModel: "partner", + searchViewId: false, + mockRPC: (route, args) => { + if ( + ["search_panel_select_range", "search_panel_select_multi_range"].includes( + args.method + ) + ) { + assert.step(args.kwargs.context.special_key); + } + }, + context: { + special_key: "special_key", + }, + }); + + assert.verifySteps(["special_key", "special_key"]); + }); });