diff --git a/addons/web/static/src/legacy/js/fields/abstract_field.js b/addons/web/static/src/legacy/js/fields/abstract_field.js index c79c6b8eec1..2de7fbd3933 100644 --- a/addons/web/static/src/legacy/js/fields/abstract_field.js +++ b/addons/web/static/src/legacy/js/fields/abstract_field.js @@ -35,7 +35,6 @@ var Widget = require('web.Widget'); var AbstractField = Widget.extend({ events: { - 'click': '_onClick', 'keydown': '_onKeydown', }, custom_events: { @@ -224,6 +223,9 @@ var AbstractField = Widget.extend({ self.$el.attr('name', self.name); self.$el.addClass('o_field_widget'); self.$el.toggleClass('o_quick_editable', self._canQuickEdit); + if (self.viewType === 'form') { + self.$el.on('click', self._onClick.bind(self)); + } return self._render(); }); }, diff --git a/addons/web/static/tests/legacy/views/kanban_tests.js b/addons/web/static/tests/legacy/views/kanban_tests.js index 9a1cf7d52ed..05e2d5aeb4e 100644 --- a/addons/web/static/tests/legacy/views/kanban_tests.js +++ b/addons/web/static/tests/legacy/views/kanban_tests.js @@ -2794,6 +2794,43 @@ QUnit.module('Views', { kanban.destroy(); }); + QUnit.test('Open record when clicking on widget field', async function (assert) { + assert.expect(2); + + const kanban = await createView({ + View: KanbanView, + model: 'partner', + data: this.data, + arch: ` + + + +
+ +
+
+
+
`, + archs: { + 'product,false,form': '
', + }, + intercepts: { + switch_view(ev) { + assert.deepEqual({ + res_id: ev.data.res_id, + view_type: ev.data.view_type, + }, { + res_id: 1, + view_type: 'form', + }, "should trigger an event to open the form view"); + }, + }, + }); + assert.containsN(kanban, '.o_kanban_record:not(.o_kanban_ghost)', 4); + kanban.$(".oe_kanban_global_click .o_field_monetary[name=salary]:eq(0)").click(); + kanban.destroy(); + }); + QUnit.test('o2m loaded in only one batch', async function (assert) { assert.expect(9);