From ccc142c02f5b7b041b28fb86fa6f585cd57cf6aa Mon Sep 17 00:00:00 2001 From: Alexis de Lattre Date: Wed, 29 May 2019 11:16:32 +0200 Subject: [PATCH] Add reformatting of phone numbers on res.partner in base_phone Cf my comment for the solution to be compatible with crm_phone_validation without depending on it. --- base_phone/models/res_partner.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/base_phone/models/res_partner.py b/base_phone/models/res_partner.py index 28b942b..7f451e2 100644 --- a/base_phone/models/res_partner.py +++ b/base_phone/models/res_partner.py @@ -1,10 +1,9 @@ -# -*- coding: utf-8 -*- -# Copyright 2016-2018 Akretion France +# Copyright 2016-2019 Akretion France (http://www.akretion.com/) # @author: Alexis de Lattre # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -from odoo import models +from odoo import api, models class ResPartner(models.Model): @@ -28,3 +27,18 @@ class ResPartner(models.Model): return res else: return super(ResPartner, self).name_get() + + # These 2 onchange have the same name (and same code) than in the + # module crm_phone_validation ; but we don't depend on that module + # because we don't want base_phone to depend on crm. + # When both base_phone AND crm_phone_validation are installed, + # as the methods have the same name, only one of the 2 will be executed + @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)