[FIX] web: remove ­ when saving phone number
When Odoo display a phone number number, on phone or if VOIP is installed a invisible `­` character was added from 9.0 up to saas-11.2 so an applications such as skype would not be concerned with the number. But if someone copy-pasted from this to somewhere else in Odoo, we would get incorrect number with this invisible caracter. So this change make a special case for the "FieldPhone" so the character is removed from data saved. opw-1834858 closes #24223
This commit is contained in:
@@ -1013,6 +1013,21 @@ var FieldPhone = FieldEmail.extend({
|
||||
this.$el.removeClass('o_text_overflow');
|
||||
},
|
||||
|
||||
/**
|
||||
* Remove possibly present ­ characters when saving number
|
||||
*
|
||||
* @override
|
||||
* @private
|
||||
*/
|
||||
_setValue: function (value, options) {
|
||||
// NOT NEEDED AS OF SAAS-11.3
|
||||
if (value) {
|
||||
// remove possibly pasted ­ characters
|
||||
value = value.replace(/\u00AD/g, '');
|
||||
}
|
||||
return this._super(value, options);
|
||||
},
|
||||
|
||||
/**
|
||||
* Phone fields are clickable in readonly on small screens ~= on phones.
|
||||
* This can be overriden by call-capable modules to display a clickable
|
||||
|
||||
@@ -3042,7 +3042,7 @@ QUnit.module('basic_fields', {
|
||||
QUnit.module('PhoneWidget');
|
||||
|
||||
QUnit.test('phone field in form view on extra small screens', function (assert) {
|
||||
assert.expect(7);
|
||||
assert.expect(8);
|
||||
|
||||
var form = createView({
|
||||
View: FormView,
|
||||
@@ -3090,6 +3090,15 @@ QUnit.module('basic_fields', {
|
||||
assert.strictEqual($phoneLink.attr('href'), 'tel:new',
|
||||
"should still have proper tel prefix");
|
||||
|
||||
// NOT NEEDED AS OF SAAS-11.3
|
||||
// save phone with ­ and verify it is removed
|
||||
form.$buttons.find('.o_form_button_edit').click();
|
||||
form.$('input[type="text"].o_field_widget').val('h\u00ADi').trigger('input');
|
||||
form.$buttons.find('.o_form_button_save').click();
|
||||
$phoneLink = form.$('a.o_form_uri.o_field_widget');
|
||||
assert.strictEqual($phoneLink.attr('href'), 'tel:hi',
|
||||
"U+00AD should have been removed");
|
||||
|
||||
form.destroy();
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user