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 c59a45e6f0f..aba59555e93 100644 --- a/addons/web/static/src/js/views/kanban/kanban_model.js +++ b/addons/web/static/src/js/views/kanban/kanban_model.js @@ -29,6 +29,7 @@ var KanbanModel = BasicModel.extend({ fields: group.fields, fieldsInfo: group.fieldsInfo, viewType: group.viewType, + parentID: groupID, }); group.data.unshift(new_record.id); group.res_ids.unshift(resId); diff --git a/addons/web/static/tests/views/kanban_tests.js b/addons/web/static/tests/views/kanban_tests.js index ba5fce0f898..9ba1f4224d7 100644 --- a/addons/web/static/tests/views/kanban_tests.js +++ b/addons/web/static/tests/views/kanban_tests.js @@ -342,6 +342,44 @@ QUnit.module('Views', { kanban.destroy(); }); + QUnit.test('quick create and change state in grouped mode', function (assert) { + assert.expect(1); + + this.data.partner.fields.kanban_state = { + string: "Kanban State", + type: "selection", + selection: [["normal", "Grey"], ["done", "Green"], ["blocked", "Red"]], + }; + + var kanban = createView({ + View: KanbanView, + model: 'partner', + data: this.data, + arch: '' + + '' + + '
' + + '
' + + '' + + '
' + + '
' + + '
', + groupBy: ['foo'], + }); + + // Quick create kanban record + kanban.$('.o_kanban_header .o_kanban_quick_add i').first().click(); + var $quickAdd = kanban.$('.o_kanban_quick_create'); + $quickAdd.find('.o_input').val('Test'); + $quickAdd.find('.o_kanban_add').click(); + + // Select state in kanban + kanban.$('.o_status').first().click(); + kanban.$('.o_selection ul:first li:first').click(); + assert.ok(kanban.$('.o_status').first().hasClass('o_status_green'), + "Kanban state should be done (Green)"); + kanban.destroy(); + }); + QUnit.test('quick create in grouped mode', function (assert) { assert.expect(8);