diff --git a/addons/web/static/src/views/list/list_renderer.js b/addons/web/static/src/views/list/list_renderer.js
index 57a5b82e372..1070114dcc0 100644
--- a/addons/web/static/src/views/list/list_renderer.js
+++ b/addons/web/static/src/views/list/list_renderer.js
@@ -934,7 +934,7 @@ export class ListRenderer extends Component {
return {
offset: list.offset,
limit: list.limit,
- total: list.count,
+ total: group.count,
onUpdate: async ({ offset, limit }) => {
await list.load({ limit, offset });
this.render(true);
@@ -1654,7 +1654,7 @@ export class ListRenderer extends Component {
}
showGroupPager(group) {
- return !group.isFolded && group.list.limit < group.list.count;
+ return !group.isFolded && group.list.limit < group.count;
}
toggleGroup(group) {
diff --git a/addons/web/static/tests/views/list_view_tests.js b/addons/web/static/tests/views/list_view_tests.js
index 5281a38d022..50dc15ae453 100644
--- a/addons/web/static/tests/views/list_view_tests.js
+++ b/addons/web/static/tests/views/list_view_tests.js
@@ -6091,6 +6091,51 @@ QUnit.module("Views", (hooks) => {
}
);
+ QUnit.test(
+ "pager, grouped, group pager should update after removing a filter",
+ async function (assert) {
+ patchWithCleanup(DynamicRecordList, { WEB_SEARCH_READ_COUNT_LIMIT: 3 });
+ serverData.models.foo.records = [
+ { id: 121, foo: "aaa" },
+ { id: 122, foo: "blip" },
+ { id: 123, foo: "blip" },
+ { id: 124, foo: "blip" },
+ { id: 125, foo: "blip" },
+ { id: 126, foo: "blip" },
+ ];
+ await makeView({
+ type: "list",
+ resModel: "foo",
+ serverData,
+ arch: '',
+ searchViewArch: `
+
+
+
+ `,
+ });
+
+ await toggleFilterMenu(target);
+ await toggleMenuItem(target, "Foo");
+
+ await toggleGroupByMenu(target);
+ await toggleMenuItem(target, "Bar");
+
+ // expand group
+ await click(target, "th.o_group_name");
+
+ assert.containsNone(target, "th.o_group_name .o_pager_counter");
+
+ // remove filter
+ await removeFacet(target);
+
+ assert.strictEqual(
+ $(target).find("th.o_group_name:eq(0) .o_pager_counter").text().trim(),
+ "1-2 / 6"
+ );
+ }
+ );
+
QUnit.test(
"grouped, show only limited records when the list view is initially expanded",
async function (assert) {