diff --git a/addons/web/static/src/js/views/form/form_renderer.js b/addons/web/static/src/js/views/form/form_renderer.js index 1af48aabf73..bcab9808773 100644 --- a/addons/web/static/src/js/views/form/form_renderer.js +++ b/addons/web/static/src/js/views/form/form_renderer.js @@ -817,6 +817,13 @@ var FormRenderer = BasicRenderer.extend({ for: this._getIDForLabel(fieldName), text: text, }); + const field = this.state.fields[fieldName]; + if (field && field.company_dependent) { + $result.append($('', { + class: 'fa fa-sm fa-building-o ml-2', + title: _t("Values set here are company-specific"), + })); + } if (node.tag === 'label') { this._handleAttributes($result, node); } diff --git a/addons/web/static/tests/views/form_tests.js b/addons/web/static/tests/views/form_tests.js index 00a73d9a6fd..9b5cad26e75 100644 --- a/addons/web/static/tests/views/form_tests.js +++ b/addons/web/static/tests/views/form_tests.js @@ -8978,6 +8978,28 @@ QUnit.module('Views', { form.destroy(); }); + + QUnit.test('display building icon for company dependent field', async function (assert) { + assert.expect(2); + this.data.partner.fields.product_id.company_dependent = true; + + var form = await createView({ + View: FormView, + model: 'partner', + data: this.data, + arch: '
' + + '' + + '' + + '' + + '' + + '
', + }); + + assert.containsOnce(form, 'label.o_form_label:contains(Product) .fa.fa-sm.fa-building-o', 'Company dependent field shoud have a building icon'); + assert.containsNone(form, 'label.o_form_label:contains(Trululu) .fa.fa-sm.fa-building-o', 'Regular field shoud not have a building icon'); + + form.destroy(); + }); }); });