diff --git a/addons/web/static/src/js/views/kanban/kanban_renderer.js b/addons/web/static/src/js/views/kanban/kanban_renderer.js index 8f6d7b628f6..b207f7f63d3 100644 --- a/addons/web/static/src/js/views/kanban/kanban_renderer.js +++ b/addons/web/static/src/js/views/kanban/kanban_renderer.js @@ -90,7 +90,7 @@ var KanbanRenderer = BasicRenderer.extend({ }, custom_events: _.extend({}, BasicRenderer.prototype.custom_events || {}, { close_quick_create: '_onCloseQuickCreate', - cancel_quick_create: '_onCloseQuickCreate', + cancel_quick_create: '_onCancelQuickCreate', set_progress_bar_state: '_onSetProgressBarState', start_quick_create: '_onStartQuickCreate', quick_create_column_updated: '_onQuickCreateColumnUpdated', @@ -583,6 +583,12 @@ var KanbanRenderer = BasicRenderer.extend({ // Handlers //-------------------------------------------------------------------------- + /** + * @private + */ + _onCancelQuickCreate: function () { + this._toggleNoContentHelper(); + }, /** * Closes the opened quick create widgets in columns * diff --git a/addons/web/static/tests/views/kanban_tests.js b/addons/web/static/tests/views/kanban_tests.js index c0a07c699fa..47c3862ba8f 100644 --- a/addons/web/static/tests/views/kanban_tests.js +++ b/addons/web/static/tests/views/kanban_tests.js @@ -2282,6 +2282,39 @@ QUnit.module('Views', { kanban.destroy(); }); + QUnit.test('quick create record: open on a column while another column has already one', async function (assert) { + assert.expect(6); + + var kanban = await createView({ + View: KanbanView, + model: 'partner', + data: this.data, + arch: '' + + '' + + '
' + + '
' + + '
', + groupBy: ['product_id'], + }); + + // Click on quick create in first column + await testUtils.dom.click(kanban.$('.o_kanban_group:nth-child(1) .o_kanban_quick_add')); + assert.containsOnce(kanban, '.o_kanban_quick_create'); + assert.containsOnce(kanban.$('.o_kanban_group:nth-child(1)'), '.o_kanban_quick_create'); + + // Click on quick create in second column + await testUtils.dom.click(kanban.$('.o_kanban_group:nth-child(2) .o_kanban_quick_add')); + assert.containsOnce(kanban, '.o_kanban_quick_create'); + assert.containsOnce(kanban.$('.o_kanban_group:nth-child(2)'), '.o_kanban_quick_create'); + + // Click on quick create in first column once again + await testUtils.dom.click(kanban.$('.o_kanban_group:nth-child(1) .o_kanban_quick_add')); + assert.containsOnce(kanban, '.o_kanban_quick_create'); + assert.containsOnce(kanban.$('.o_kanban_group:nth-child(1)'), '.o_kanban_quick_create'); + + kanban.destroy(); + }); + QUnit.test('many2many_tags in kanban views', async function (assert) { assert.expect(12);