diff --git a/addons/web/static/src/legacy/js/fields/basic_fields.js b/addons/web/static/src/legacy/js/fields/basic_fields.js index 179d2771686..5ce2d004537 100644 --- a/addons/web/static/src/legacy/js/fields/basic_fields.js +++ b/addons/web/static/src/legacy/js/fields/basic_fields.js @@ -2682,6 +2682,9 @@ var StateSelectionWidget = AbstractField.extend({ */ _setSelection: function (ev) { ev.preventDefault(); + if (this.mode !== 'edit') { + ev.stopPropagation(); + } var $item = $(ev.currentTarget); var value = String($item.data('value')); this._setValue(value); diff --git a/addons/web/static/src/legacy/scss/list_view.scss b/addons/web/static/src/legacy/scss/list_view.scss index 2215183aa29..857e0cbd80b 100644 --- a/addons/web/static/src/legacy/scss/list_view.scss +++ b/addons/web/static/src/legacy/scss/list_view.scss @@ -28,7 +28,7 @@ } } tbody > tr > td:not(.o_list_record_selector) { - &:not(.o_handle_cell):not(.o_list_button) { + &:not(.o_handle_cell):not(.o_list_button):not(.o_state_selection_cell) { @include o-text-overflow(table-cell); &.o_list_text { white-space: pre-wrap; diff --git a/addons/web/static/tests/legacy/fields/basic_fields_tests.js b/addons/web/static/tests/legacy/fields/basic_fields_tests.js index aaf227863b5..668834bb189 100644 --- a/addons/web/static/tests/legacy/fields/basic_fields_tests.js +++ b/addons/web/static/tests/legacy/fields/basic_fields_tests.js @@ -6501,7 +6501,7 @@ QUnit.module('basic_fields', { }); QUnit.test('state_selection widget in editable list view', async function (assert) { - assert.expect(32); + assert.expect(33); var list = await createView({ View: ListView, @@ -6542,6 +6542,7 @@ QUnit.module('basic_fields', { "should still have one green status"); assert.containsNone(list, '.dropdown-menu.state:visible', "there should not be a dropdown"); + assert.containsNone(list, 'tr.o_selected_row', 'should not be in edit mode'); // switch to edit mode and check the result $cell = list.$('tbody td.o_state_selection_cell').first();