diff --git a/addons/web/static/src/views/relational_model.js b/addons/web/static/src/views/relational_model.js index 38a3444bb7e..1a18ed6f102 100644 --- a/addons/web/static/src/views/relational_model.js +++ b/addons/web/static/src/views/relational_model.js @@ -2406,7 +2406,10 @@ export class DynamicGroupList extends DynamicList { async _loadGroups() { const firstGroupByName = this.firstGroupBy.split(":")[0]; const _orderBy = this.orderBy.filter( - (o) => o.name === firstGroupByName || (this.fieldNames.includes(o.name) && this.fields[o.name].group_operator !== undefined) + (o) => + o.name === firstGroupByName || + (this.fieldNames.includes(o.name) && + this.fields[o.name].group_operator !== undefined) ); const orderby = orderByToString(_orderBy); const { groups, length } = await this.model.orm.webReadGroup( @@ -2597,9 +2600,10 @@ export class Group extends DataPoint { return this.list.addRecord(record, index); } - addExistingRecord(resId, atFirstPosition = false) { + async addExistingRecord(resId, atFirstPosition = false) { + const record = await this.list.addExistingRecord(resId, atFirstPosition); this.count++; - return this.list.addExistingRecord(resId, atFirstPosition); + return record; } createRecord(params = {}, atFirstPosition = false) { diff --git a/addons/web/static/tests/views/kanban_view_tests.js b/addons/web/static/tests/views/kanban_view_tests.js index f6cace3976b..75e0cd1132e 100644 --- a/addons/web/static/tests/views/kanban_view_tests.js +++ b/addons/web/static/tests/views/kanban_view_tests.js @@ -1849,6 +1849,49 @@ QUnit.module("Views", (hooks) => { assert.containsOnce(target, ".o_kanban_group:first-child .o_kanban_quick_create"); }); + QUnit.test("quick create record flickering (load more)", async (assert) => { + let def; + serverData.views["partner,some_view_ref,form"] = ` +
`; + + await makeView({ + type: "kanban", + resModel: "partner", + serverData, + arch: ` +