diff --git a/addons/web/static/src/js/fields/relational_fields.js b/addons/web/static/src/js/fields/relational_fields.js index 751c16b3a23..325e0ceb8e8 100644 --- a/addons/web/static/src/js/fields/relational_fields.js +++ b/addons/web/static/src/js/fields/relational_fields.js @@ -465,7 +465,10 @@ var FieldMany2One = AbstractField.extend({ * @private */ _renderReadonly: function () { - var value = _.escape((this.m2o_value || "").trim()).split("\n").join("
"); + var escapedValue = _.escape((this.m2o_value || "").trim()); + var value = escapedValue.split('\n').map(function (line) { + return '' + line + ''; + }).join('
'); this.$el.html(value); if (!this.noOpen && this.value) { this.$el.attr('href', _.str.sprintf('#id=%s&model=%s', this.value.res_id, this.field.relation)); diff --git a/addons/web/static/src/scss/form_view.scss b/addons/web/static/src/scss/form_view.scss index 8bcaba31ee3..8d4f56624ca 100644 --- a/addons/web/static/src/scss/form_view.scss +++ b/addons/web/static/src/scss/form_view.scss @@ -81,10 +81,12 @@ .o_form_uri { display: inline-block; - color: $link-color; - - &:hover { - color: darken($link-color, 15%); + color: $o-main-text-color; + > span:first-child { + color: $link-color; + &:hover { + color: darken($link-color, 15%); + } } } diff --git a/addons/web/static/tests/fields/relational_fields/field_many2one_tests.js b/addons/web/static/tests/fields/relational_fields/field_many2one_tests.js index e28b8ef1a47..ed38fbbaf03 100644 --- a/addons/web/static/tests/fields/relational_fields/field_many2one_tests.js +++ b/addons/web/static/tests/fields/relational_fields/field_many2one_tests.js @@ -356,7 +356,7 @@ QUnit.module('fields', {}, function () { res_id: 1, }); - assert.strictEqual($('a.o_form_uri').html(), 'aaa
Street
City ZIP', + assert.strictEqual(form.$('a.o_form_uri').html(), 'aaa
Street
City ZIP', "input should have a multi-line content in readonly due to show_address"); await testUtils.form.clickEdit(form); assert.containsOnce(form, 'button.o_external_button:visible',