# -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. from odoo import api, models from odoo.addons.phone_validation.tools import phone_validation class Partner(models.Model): _name = 'res.partner' _inherit = ['res.partner'] @api.onchange('phone', 'country_id', 'company_id') def _onchange_phone_validation(self): if self.phone: self.phone = self._phone_format(self.phone) @api.onchange('mobile', 'country_id', 'company_id') def _onchange_mobile_validation(self): if self.mobile: self.mobile = self._phone_format(self.mobile) def _phone_format(self, number, country=None, company=None): country = country or self.country_id or self.env.company.country_id if not country: return number return phone_validation.phone_format( number, country.code if country else None, country.phone_code if country else None, force_format='INTERNATIONAL', raise_exception=False )