diff options
| author | Mohammed Shekha <msh@openerp.com> | 2017-12-21 19:11:30 +0530 |
|---|---|---|
| committer | Martin Geubelle <mge@odoo.com> | 2018-02-15 17:26:48 +0100 |
| commit | e93a5cec4835b041fdef7e0e7ffbf73ef3d2566e (patch) | |
| tree | 3a2514a83e84f369380194e54d323ffb41236995 /addons | |
| parent | 665496fc5c00f212ee8425bc95b987d42b3b0c37 (diff) | |
[FIX] web: archive records in a new Kanban column
Create a new column in Project, add a record and then hit 'Archive Records' : a
traceback occurs.
When creating the new column, the `groupedBy` attribute on the datapoint is set
according to the parent list datapoint, which makes no sense as the records are
not grouped inside the column.
The mentioned attribute is now removed as the records cannot be grouped inside
the column.
Diffstat (limited to 'addons')
| -rw-r--r-- | addons/web/static/src/js/views/kanban/kanban_model.js | 1 | ||||
| -rw-r--r-- | addons/web/static/tests/views/kanban_tests.js | 56 |
2 files changed, 56 insertions, 1 deletions
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 df6172f0d8b..0b0ec09ddf4 100644 --- a/addons/web/static/src/js/views/kanban/kanban_model.js +++ b/addons/web/static/src/js/views/kanban/kanban_model.js @@ -73,7 +73,6 @@ var KanbanModel = BasicModel.extend({ domain: parent.domain.concat([[groupBy,"=",result[0]]]), fields: parent.fields, fieldsInfo: parent.fieldsInfo, - groupedBy: parent.groupedBy, isOpen: true, limit: parent.limit, parentID: parent.id, diff --git a/addons/web/static/tests/views/kanban_tests.js b/addons/web/static/tests/views/kanban_tests.js index 00625e1e30c..daa68c6c638 100644 --- a/addons/web/static/tests/views/kanban_tests.js +++ b/addons/web/static/tests/views/kanban_tests.js @@ -1947,6 +1947,62 @@ QUnit.module('Views', { kanban.destroy(); }); + QUnit.test('archive new kanban column', function (assert) { + assert.expect(15); + + this.data.partner.fields.active = {string: 'Active', type: 'char', default: true}; + + var kanban = createView({ + View: KanbanView, + model: 'partner', + data: this.data, + arch: '<kanban>' + + '<field name="product_id"/>' + + '<templates><t t-name="kanban-box">' + + '<div><field name="foo"/></div>' + + '</t></templates>' + + '</kanban>', + groupBy: ['product_id'], + mockRPC: function (route) { + assert.step(route); + return this._super.apply(this, arguments); + }, + }); + var rpcs = ['/web/dataset/call_kw/partner/read_group', '/web/dataset/search_read', '/web/dataset/search_read']; + assert.strictEqual(kanban.$('.o_kanban_group').length, 2, + "there should be 2 columns"); + + // create a column + kanban.$('.o_column_quick_create').click(); + kanban.$('.o_column_quick_create input').val('new colum'); + kanban.$('.o_column_quick_create button.o_kanban_add').click(); + rpcs.push('/web/dataset/call_kw/product/name_create'); + assert.verifySteps(rpcs); + + // add a record inside + kanban.$('.o_kanban_group:eq(2) .o_kanban_quick_add i').click(); + var $quickCreate = kanban.$('.o_kanban_group:eq(2) .o_kanban_quick_create'); + $quickCreate.find('input').val('new record'); + $quickCreate.find('button.o_kanban_add').click(); + assert.strictEqual(kanban.$('.o_kanban_group').length, 3, + "there should be 3 columns"); + rpcs.push('/web/dataset/call_kw/partner/name_create'); + rpcs.push('/web/dataset/call_kw/partner/read'); + assert.verifySteps(rpcs); + + var $newColumn = kanban.$('.o_kanban_group:eq(2)'); + assert.strictEqual($newColumn.find('.o_kanban_record').length, 1, + "there should be 1 record in the new column"); + $newColumn.find('.o_column_archive').click(); + assert.strictEqual($newColumn.find('.o_kanban_record').length, 0, + "there should not be partners anymore"); + rpcs.push('/web/dataset/call_kw/partner/write'); + rpcs.push('/web/dataset/search_read'); + assert.verifySteps(rpcs, "a search_read should be done after archiving the records"); + + kanban.destroy(); + }); + QUnit.test('load more records in column', function (assert) { assert.expect(12); |
