diff --git a/addons/web/static/src/js/views/kanban/kanban_model.js b/addons/web/static/src/js/views/kanban/kanban_model.js index ca4924b6c65..c59a45e6f0f 100644 --- a/addons/web/static/src/js/views/kanban/kanban_model.js +++ b/addons/web/static/src/js/views/kanban/kanban_model.js @@ -79,6 +79,11 @@ var KanbanModel = BasicModel.extend({ value: result, viewType: parent.viewType, }); + if (parent.progressBar) { + newGroup.progressBarValues = _.extend({ + counts: {}, + }, parent.progressBar); + } // newGroup.is_open = true; parent.data.push(newGroup.id); diff --git a/addons/web/static/tests/views/kanban_tests.js b/addons/web/static/tests/views/kanban_tests.js index e0d2f72e05e..2ad0d5e6324 100644 --- a/addons/web/static/tests/views/kanban_tests.js +++ b/addons/web/static/tests/views/kanban_tests.js @@ -2024,6 +2024,40 @@ QUnit.module('Views', { kanban.destroy(); }); + QUnit.test('column progressbars: creating a new column should create a new progressbar', function (assert) { + assert.expect(1); + + var kanban = createView({ + View: KanbanView, + model: 'partner', + data: this.data, + arch: + '' + + '' + + '' + + '' + + '
' + + '' + + '
' + + '
' + + '
', + groupBy: ['product_id'], + }); + + var nbProgressBars = kanban.$('.o_kanban_counter').length; + + // Create a new column: this should create an empty progressbar + var $columnQuickCreate = kanban.$('.o_column_quick_create'); + $columnQuickCreate.click(); + $columnQuickCreate.find('input').val('test'); + $columnQuickCreate.find('.btn-primary').click(); + + assert.strictEqual(kanban.$('.o_kanban_counter').length, nbProgressBars + 1, + "a new column with a new column progressbar should have been created"); + + kanban.destroy(); + }); + QUnit.test('keep adding quickcreate in first column after a record from this column was moved', function (assert) { assert.expect(2);