From 0c0656eadd6735c9fafdc9c9b7ffc62be4df363c Mon Sep 17 00:00:00 2001 From: Sergey Shebanin Date: Wed, 28 Sep 2022 19:41:22 +0000 Subject: [PATCH] [FIX] web: statusbar field on mobile doesn't show current value closes odoo/odoo#103715 X-original-commit: a045d4555f3546bf9b0327b24f5c6f3fecf247f1 Signed-off-by: Luca Vitali --- .../static/src/views/fields/statusbar/statusbar_field.js | 4 ++-- .../tests/mobile/views/fields/statusbar_field_tests.js | 9 +++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/addons/web/static/src/views/fields/statusbar/statusbar_field.js b/addons/web/static/src/views/fields/statusbar/statusbar_field.js index bfc21757444..f689c8515f5 100644 --- a/addons/web/static/src/views/fields/statusbar/statusbar_field.js +++ b/addons/web/static/src/views/fields/statusbar/statusbar_field.js @@ -45,8 +45,8 @@ export class StatusBarField extends Component { get currentName() { switch (this.props.record.fields[this.props.name].type) { case "many2one": { - const item = this.options.find((item) => item.isSelected); - return item ? item.name : ""; + const item = this.options.find((item) => this.props.value && item.id === this.props.value[0]); + return item ? item.display_name : ""; } case "selection": { const item = this.options.find((item) => item[0] === this.props.value); diff --git a/addons/web/static/tests/mobile/views/fields/statusbar_field_tests.js b/addons/web/static/tests/mobile/views/fields/statusbar_field_tests.js index 39c16ae173d..9fba23e21dd 100644 --- a/addons/web/static/tests/mobile/views/fields/statusbar_field_tests.js +++ b/addons/web/static/tests/mobile/views/fields/statusbar_field_tests.js @@ -60,6 +60,11 @@ QUnit.module("Mobile Fields", ({ beforeEach }) => { ".o_statusbar_status .dropdown-menu", "dropdown should be hidden" ); + assert.strictEqual( + fixture.querySelector(".o_statusbar_status button.dropdown-toggle").textContent.trim(), + "aaa", + "statusbar button should display current field value" + ); // open the dropdown await click(fixture, ".o_statusbar_status > button"); @@ -115,8 +120,8 @@ QUnit.module("Mobile Fields", ({ beforeEach }) => { assert.strictEqual( fixture.querySelector(".o_statusbar_status button.dropdown-toggle").textContent.trim(), "", - "statusbar button has no text" - ); // Behavior as of saas-15, might be improved + "statusbar button shouldn't have text for null field value" + ); await click(fixture, ".o_statusbar_status button.dropdown-toggle"); assert.containsOnce(