diff --git a/addons/web/static/src/views/kanban/kanban_renderer.js b/addons/web/static/src/views/kanban/kanban_renderer.js index 686fb6739b7..018df770d15 100644 --- a/addons/web/static/src/views/kanban/kanban_renderer.js +++ b/addons/web/static/src/views/kanban/kanban_renderer.js @@ -226,12 +226,13 @@ export class KanbanRenderer extends Component { return true; } if (isGrouped) { - if (!this.state.columnQuickCreateIsFolded) { + if (this.canCreateGroup() && !this.state.columnQuickCreateIsFolded) { return false; } if (groups.length === 0) { - return true; + return !this.props.list.groupedBy("m2o"); } + return this.props.list.records.length === 0; } return !model.hasData(); } diff --git a/addons/web/static/src/views/kanban/kanban_renderer.xml b/addons/web/static/src/views/kanban/kanban_renderer.xml index 6724ff12ba9..7c5dc17fbe3 100644 --- a/addons/web/static/src/views/kanban/kanban_renderer.xml +++ b/addons/web/static/src/views/kanban/kanban_renderer.xml @@ -143,24 +143,24 @@ exampleData="exampleData" groupByFieldString="props.list.groupByField.string" /> - - -
-
-
-
-
-
-
-
- - Avatar - + +
+
+
+
+
+
+
+
+ + Avatar + +
-
+ diff --git a/addons/web/static/tests/views/kanban_view_tests.js b/addons/web/static/tests/views/kanban_view_tests.js index 3d21ddd70c3..5ed34007dc7 100644 --- a/addons/web/static/tests/views/kanban_view_tests.js +++ b/addons/web/static/tests/views/kanban_view_tests.js @@ -6272,7 +6272,7 @@ QUnit.module("Views", (hooks) => { ); QUnit.test( - "nocontent helper for grouped kanban with no records with no group_create", + "nocontent helper for grouped kanban (on m2o field) with no records with no group_create", async (assert) => { serverData.models.partner.records = []; @@ -6305,6 +6305,35 @@ QUnit.module("Views", (hooks) => { } ); + QUnit.test( + "nocontent helper for grouped kanban (on date field) with no records with no group_create", + async (assert) => { + serverData.models.partner.records = []; + + await makeView({ + type: "kanban", + resModel: "partner", + serverData, + arch: ` + + + +
+
+
+
`, + groupBy: ["date"], + noContentHelp: "No content helper", + }); + + assert.containsNone(target, ".o_kanban_group"); + assert.containsNone(target, ".o_kanban_record"); + assert.containsOnce(target, ".o_view_nocontent"); + assert.containsNone(target, ".o_column_quick_create"); + assert.containsNone(target, ".o_kanban_example_background"); + } + ); + QUnit.test("empty grouped kanban with sample data and no columns", async (assert) => { serverData.models.partner.records = [];