diff options
| author | Ivan Yelizariev <iel@odoo.com> | 2021-01-06 13:53:23 +0000 |
|---|---|---|
| committer | Lucas Perais (lpe) <lpe@odoo.com> | 2021-02-08 10:04:46 +0000 |
| commit | 17e4420f9ba2743d6ef454c01ca4e12617b2c8c1 (patch) | |
| tree | e2fd3300fa1ab6393835fa7841e6e9f0e2fa311e /addons/web | |
| parent | 4fda4838b8e3462b6428f316bfe9814cd743e891 (diff) | |
[FIX] web: fix duplication on phone+sms button rerendering
STEPS:
* Add related phone field to a form (e.g. partner_id.phone to sale.order form)
* Use widget "phone" + activate sms feature
* Create a record
* Click edit, select partner that has phone specified (e.g. +1 234), edit
partner's phone (e.g. +1 234 555), save
BEFORE: ``+1 234 []SMS`` is converted to ``+1 234 555 +1 234 555``
AFTER: ``+1 234 555 []SMS``
WHY:
* FieldPhone is inherited from FieldEmail
https://github.com/odoo/odoo/blob/0de069b8ca9fb005ba5b076984f5677de25889ee/addons/web/static/src/js/fields/basic_fields.js#L1549
* sms module adds SMS button to ``$el``
https://github.com/odoo/odoo/blob/0de069b8ca9fb005ba5b076984f5677de25889ee/addons/sms/static/src/js/fields_phone_widget.js#L91
* So this commit filters ``$el`` before updating it
---
opw-2425949
closes odoo/odoo#64156
Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
Diffstat (limited to 'addons/web')
| -rw-r--r-- | addons/web/static/src/js/fields/basic_fields.js | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/addons/web/static/src/js/fields/basic_fields.js b/addons/web/static/src/js/fields/basic_fields.js index 99e65b444c5..1b495696808 100644 --- a/addons/web/static/src/js/fields/basic_fields.js +++ b/addons/web/static/src/js/fields/basic_fields.js @@ -1509,7 +1509,9 @@ var FieldEmail = InputField.extend({ */ _renderReadonly: function () { if (this.value) { - this.$el.text(this.value) + // Odoo legacy widgets can have multiple nodes inside their $el JQuery object + // so, select the proper one (other nodes are assumed not to contain proper data) + this.$el.closest("." + this.className).text(this.value) .addClass('o_form_uri o_text_overflow') .attr('href', this.prefix + ':' + this.value); } else { |
