RATIONALE Simplify field management for mail / phone / sms flows. Make it working out of the box, easier to use and tweak. SPECIFICATIONS Add a '_phone_format' tool method on BaseModel. It allows to format a number either directly, either from a field available on the model. It allows to ease number formatting. It uses available helpers to find numbers using '_phone_get_number_fields' and '_phone_get_country_field'. With default generic behavior this allows to simplify most calls to phone number formatting. Having it available at BaseModel level allows to remove some custom code, calls to phone_validation API, ... Task-3422449 (Mail, Phone: Move and improve field helpers) Part-of: odoo/odoo#130468
20 lines
711 B
Python
20 lines
711 B
Python
# 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(fname='phone', force_format='INTERNATIONAL') or self.phone
|
|
|
|
@api.onchange('mobile', 'country_id', 'company_id')
|
|
def _onchange_mobile_validation(self):
|
|
if self.mobile:
|
|
self.mobile = self._phone_format(fname='mobile', force_format='INTERNATIONAL') or self.mobile
|