diff --git a/addons/web/static/src/views/kanban/kanban_renderer.js b/addons/web/static/src/views/kanban/kanban_renderer.js index 018df770d15..6ac7c953f97 100644 --- a/addons/web/static/src/views/kanban/kanban_renderer.js +++ b/addons/web/static/src/views/kanban/kanban_renderer.js @@ -258,12 +258,17 @@ export class KanbanRenderer extends Component { getGroupName({ groupByField, count, displayName, isFolded }) { let name = displayName; - if (isNull(name)) { - name = this.env._t("None"); - } else if (isRelational(groupByField)) { - name = name || this.env._t("None"); - } else if (groupByField.type === "boolean") { + if (groupByField.type === "boolean") { name = name ? this.env._t("Yes") : this.env._t("No"); + } else if (!name) { + if ( + isRelational(groupByField) || + groupByField.type === "date" || + groupByField.type === "datetime" || + isNull(name) + ) { + name = this.env._t("None"); + } } return !this.env.isSmall && isFolded ? `${name} (${count})` : name; } diff --git a/addons/web/static/tests/views/kanban_view_tests.js b/addons/web/static/tests/views/kanban_view_tests.js index 5ed34007dc7..16a5815678b 100644 --- a/addons/web/static/tests/views/kanban_view_tests.js +++ b/addons/web/static/tests/views/kanban_view_tests.js @@ -626,6 +626,29 @@ QUnit.module("Views", (hooks) => { } ); + QUnit.test("kanban grouped by date field", async (assert) => { + serverData.models.partner.records[0].date = "2007-06-10"; + await makeView({ + type: "kanban", + resModel: "partner", + serverData, + arch: ` + + + + +
+
+
+
`, + groupBy: ["date"], + }); + + assert.deepEqual(getNodesTextContent(target.querySelectorAll(".o_column_title")), [ + "None", + "June 2007", + ]); + }); QUnit.test("context can be used in kanban template", async (assert) => { await makeView({ type: "kanban",