diff --git a/addons/web/static/src/views/fields/phone/phone_field.js b/addons/web/static/src/views/fields/phone/phone_field.js index 63539bc1089..71a2e68dd36 100644 --- a/addons/web/static/src/views/fields/phone/phone_field.js +++ b/addons/web/static/src/views/fields/phone/phone_field.js @@ -28,4 +28,8 @@ PhoneField.extractProps = ({ attrs }) => { }; }; +class FormPhoneField extends PhoneField {} +FormPhoneField.template = "web.FormPhoneField"; + registry.category("fields").add("phone", PhoneField); +registry.category("fields").add("form.phone", FormPhoneField); diff --git a/addons/web/static/src/views/fields/phone/phone_field.xml b/addons/web/static/src/views/fields/phone/phone_field.xml index ac5c1dd15c4..2d28ca010b6 100644 --- a/addons/web/static/src/views/fields/phone/phone_field.xml +++ b/addons/web/static/src/views/fields/phone/phone_field.xml @@ -2,18 +2,32 @@ - - - - - - + + + + + + + Call + + diff --git a/addons/web/static/tests/views/fields/phone_field_tests.js b/addons/web/static/tests/views/fields/phone_field_tests.js index db2316e2843..b791c2b7b28 100644 --- a/addons/web/static/tests/views/fields/phone_field_tests.js +++ b/addons/web/static/tests/views/fields/phone_field_tests.js @@ -85,6 +85,15 @@ QUnit.module("Fields", (hooks) => { "input should contain field value in edit mode" ); + const phoneLink = target.querySelector(".o_field_phone a"); + assert.containsOnce( + target, + phoneLink, + "should have rendered the phone number as a link with correct classes" + ); + assert.strictEqual(phoneLink.textContent, "Call", "link is shown with the right text"); + assert.hasAttrValue(phoneLink, "href", "tel:yop", "should have proper tel prefix"); + // change value in edit mode await editInput(target, "input[type='tel']", "new"); @@ -114,7 +123,7 @@ QUnit.module("Fields", (hooks) => { assert.containsN( target, - ".o_field_widget a.o_form_uri.o_phone_link", + ".o_field_widget a.o_form_uri", 2, "should have the correct classnames" ); @@ -145,7 +154,7 @@ QUnit.module("Fields", (hooks) => { ); assert.containsN( target, - ".o_field_widget a.o_form_uri.o_phone_link", + ".o_field_widget a.o_form_uri", 2, "should still have links with correct classes" );