summaryrefslogtreecommitdiff
path: root/addons/web/static/src/js/fields/basic_fields.js
diff options
context:
space:
mode:
authorIvan Yelizariev <iel@odoo.com>2021-01-06 13:53:23 +0000
committerLucas Perais (lpe) <lpe@odoo.com>2021-02-08 10:04:46 +0000
commit17e4420f9ba2743d6ef454c01ca4e12617b2c8c1 (patch)
treee2fd3300fa1ab6393835fa7841e6e9f0e2fa311e /addons/web/static/src/js/fields/basic_fields.js
parent4fda4838b8e3462b6428f316bfe9814cd743e891 (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/static/src/js/fields/basic_fields.js')
-rw-r--r--addons/web/static/src/js/fields/basic_fields.js4
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 {