Base Phone

base_phone
REPOSITORY
REPOSITORYOCA/connector-telephony
GIT
GIThttps://github.com/OCA/connector-telephony.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/connector-telephony/tree/18.0/base_phone
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYPhone
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Bhavesh Heliconia, Heliconia Solutions
WEBSITE
WEBSITEhttps://github.com/OCA/connector-telephony
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:30:11
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - phone_validation
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
    - html_editor
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES phonenumbers
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module provides common methods and wizards which can be useful to
develop a connector between Odoo and a telephony system. It depends on
the official module *phone_validation* which handle the reformatting of
phone numbers using the
[phonenumbers](https://github.com/daviddrysdale/python-phonenumbers)
Python library, which is a port of the library used in Android
smartphones. For example, if your user is linked to a French company and
you update the form view of a partner with a badly written French phone
number such as '01-55-42-12-42', Odoo will automatically update the
phone number to [E.164](https://en.wikipedia.org/wiki/E.164) format
'+33155421242'. This module extends this reformatting to create() and
write() methods.

This module is used by the Odoo-Asterisk connector of the OCA.

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
number_not_found_form number.not.found.form number.not.found form New
reformat_all_phonenumbers_form reformat_all_phonenumbers.form reformat.all.phonenumbers form New
res_config_settings_view_form base_phone.base.config.settings.form res.config.settings block Inherits base_setup.res_config_settings_view_form
view_users_form base_phone.res.users.telephony_tab res.users notebook Inherits base.view_users_form
view_users_form_simple_modif base_phone.user_preferences.view res.users group Inherits base.view_users_form_simple_modif
Models touched (8)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (6)
  • calling_number Char
    help='Phone number of calling party that has been obtained from the telephony server, in the format used by the telephony server (not E.164).' readonly=True size=64
  • current_partner_mobile Char
    related='to_update_partner_id.mobile' string='Current Mobile'
  • current_partner_phone Char
    related='to_update_partner_id.phone' string='Current Phone'
  • e164_number Char
    help='E.164 equivalent of the calling number.' size=64 string='E.164 Number'
  • number_type Selection
    required=True selection=[('phone', 'Fixed'), ('mobile', 'Mobile')] string='Fixed/Mobile'
  • to_update_partner_id Many2one → res.partner
    comodel_name='res.partner' help='Partner on which the phone number will be written' string='Partner to Update'
Public methods (3)
  • create_partner(self)
    Function called by the related button of the wizard
  • default_get(self, fields_list)
    @api.model
  • update_partner(self)
    Function called by the related button of the wizard

New fields (0)

No new fields.

Public methods (4)
  • click2dial(self, erp_number)
    @api.model
    This function is designed to be overridden in IPBX-specific modules, such as asterisk_click2dial or ovh_telephony_connector
  • convert_to_dial_number(self, erp_number)
    @api.model
    This function is dedicated to the transformation of the number available in Odoo to the number that can be dialed. You may have to inherit this function in another module specific for your company if you are not happy with the way I reformat the numbers.
  • get_name_from_phone_number(self, presented_number)
    @api.model
    Function to get name from phone number. Usefull for use from IPBX to add CallerID name to incoming calls.
  • get_record_from_phone_number(self, presented_number)
    @api.model
    If it finds something, it returns (object name, ID, record name) For example : ('res.partner', 42, 'Alexis de Lattre (Akretion)')

New fields (0)

No new fields.

Public methods (1)
  • phone_format(self, number, country=None, company=None)

New fields (2)
  • phonenumbers_not_reformatted Text
    string="Phone numbers that couldn't be reformatted"
  • state Selection
    default='draft' args: [('draft', 'Draft'), ('done', 'Done')]
Public methods (1)
  • run_reformat_all_phonenumbers(self)

New fields (1)
  • number_of_digits_to_match_from_end Integer
    default=8 help='In several situations, Odoo will have to find a Partner/Lead/Employee/... from a phone number presented by the calling party. As the phone numbers presented by your phone operator may not always be displayed in a standard format, the best method to find the related Partner/Lead/Employee/... in Odoo is to try to match the end of the phone number in Odoo with the N last digits of the phone number presented by the calling party. N is the value you should enter in this field.' string='Number of Digits To Match From End'
Public methods (0)

No public methods.

New fields (1)
  • number_of_digits_to_match_from_end Integer
    readonly=False related='company_id.number_of_digits_to_match_from_end' string='Number of Digits'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

REPOSITORY
REPOSITORYOCA/connector-telephony
GIT
GIThttps://github.com/OCA/connector-telephony.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/connector-telephony/tree/17.0/base_phone
VERSION
VERSION 1.0.2
CATEGORY
CATEGORYPhone
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSPedro M. Baeza, Enric Tobella, Weblate, OCA-git-bot, oca-ci, Luis Rodriguez
WEBSITE
WEBSITEhttps://github.com/OCA/connector-telephony
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:04
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - phone_validation
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES phonenumbers
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This module provides common methods and wizards which can be useful to
develop a connector between Odoo and a telephony system. It depends on
the official module *phone_validation* which handle the reformatting of
phone numbers using the
[phonenumbers](https://github.com/daviddrysdale/python-phonenumbers)
Python library, which is a port of the library used in Android
smartphones. For example, if your user is linked to a French company and
you update the form view of a partner with a badly written French phone
number such as '01-55-42-12-42', Odoo will automatically update the
phone number to [E.164](https://en.wikipedia.org/wiki/E.164) format
'+33155421242'. This module extends this reformatting to create() and
write() methods.

This module is used by the Odoo-Asterisk connector of the OCA.

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
number_not_found_form number.not.found.form number.not.found form New
reformat_all_phonenumbers_form reformat_all_phonenumbers.form reformat.all.phonenumbers form New
res_config_settings_view_form base_phone.base.config.settings.form res.config.settings xpath Inherits base_setup.res_config_settings_view_form
view_users_form base_phone.res.users.telephony_tab res.users notebook Inherits base.view_users_form
view_users_form_simple_modif base_phone.user_preferences.view res.users group Inherits base.view_users_form_simple_modif
Models touched (8)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (6)
  • calling_number Char
    help='Phone number of calling party that has been obtained from the telephony server, in the format used by the telephony server (not E.164).' readonly=True size=64
  • current_partner_mobile Char
    related='to_update_partner_id.mobile' string='Current Mobile'
  • current_partner_phone Char
    related='to_update_partner_id.phone' string='Current Phone'
  • e164_number Char
    help='E.164 equivalent of the calling number.' size=64 string='E.164 Number'
  • number_type Selection
    required=True selection=[('phone', 'Fixed'), ('mobile', 'Mobile')] string='Fixed/Mobile'
  • to_update_partner_id Many2one → res.partner
    comodel_name='res.partner' help='Partner on which the phone number will be written' string='Partner to Update'
Public methods (3)
  • create_partner(self)
    Function called by the related button of the wizard
  • default_get(self, fields_list)
    @api.model
  • update_partner(self)
    Function called by the related button of the wizard

New fields (0)

No new fields.

Public methods (4)
  • click2dial(self, erp_number)
    @api.model
    This function is designed to be overridden in IPBX-specific modules, such as asterisk_click2dial or ovh_telephony_connector
  • convert_to_dial_number(self, erp_number)
    @api.model
    This function is dedicated to the transformation of the number available in Odoo to the number that can be dialed. You may have to inherit this function in another module specific for your company if you are not happy with the way I reformat the numbers.
  • get_name_from_phone_number(self, presented_number)
    @api.model
    Function to get name from phone number. Usefull for use from IPBX to add CallerID name to incoming calls.
  • get_record_from_phone_number(self, presented_number)
    @api.model
    If it finds something, it returns (object name, ID, record name) For example : ('res.partner', 42, 'Alexis de Lattre (Akretion)')

New fields (0)

No new fields.

Public methods (1)
  • phone_format(self, number, country=None, company=None)

New fields (2)
  • phonenumbers_not_reformatted Text
    string="Phone numbers that couldn't be reformatted"
  • state Selection
    default='draft' args: [('draft', 'Draft'), ('done', 'Done')]
Public methods (1)
  • run_reformat_all_phonenumbers(self)

New fields (1)
  • number_of_digits_to_match_from_end Integer
    default=8 help='In several situations, Odoo will have to find a Partner/Lead/Employee/... from a phone number presented by the calling party. As the phone numbers presented by your phone operator may not always be displayed in a standard format, the best method to find the related Partner/Lead/Employee/... in Odoo is to try to match the end of the phone number in Odoo with the N last digits of the phone number presented by the calling party. N is the value you should enter in this field.' string='Number of Digits To Match From End'
Public methods (0)

No public methods.

New fields (1)
  • number_of_digits_to_match_from_end Integer
    readonly=False related='company_id.number_of_digits_to_match_from_end'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • name_get(self)
REPOSITORY
REPOSITORYOCA/connector-telephony
GIT
GIThttps://github.com/OCA/connector-telephony.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/connector-telephony/tree/16.0/base_phone
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYPhone
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSWeblate, oca-ci, Luis Rodriguez
WEBSITE
WEBSITEhttps://github.com/OCA/connector-telephony
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:53:45
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - phone_validation
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES phonenumbers
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
number_not_found_form number.not.found.form number.not.found form New
reformat_all_phonenumbers_form reformat_all_phonenumbers.form reformat.all.phonenumbers form New
res_config_settings_view_form base_phone.base.config.settings.form res.config.settings xpath Inherits base_setup.res_config_settings_view_form
view_users_form base_phone.res.users.telephony_tab res.users notebook Inherits base.view_users_form
view_users_form_simple_modif base_phone.user_preferences.view res.users group Inherits base.view_users_form_simple_modif
Models touched (8)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (6)
  • calling_number Char
    help='Phone number of calling party that has been obtained from the telephony server, in the format used by the telephony server (not E.164).' readonly=True size=64
  • current_partner_mobile Char
    related='to_update_partner_id.mobile' string='Current Mobile'
  • current_partner_phone Char
    related='to_update_partner_id.phone' string='Current Phone'
  • e164_number Char
    help='E.164 equivalent of the calling number.' size=64 string='E.164 Number'
  • number_type Selection
    required=True selection=[('phone', 'Fixed'), ('mobile', 'Mobile')] string='Fixed/Mobile'
  • to_update_partner_id Many2one → res.partner
    comodel_name='res.partner' help='Partner on which the phone number will be written' string='Partner to Update'
Public methods (3)
  • create_partner(self)
    Function called by the related button of the wizard
  • default_get(self, fields_list)
    @api.model
  • update_partner(self)
    Function called by the related button of the wizard

New fields (0)

No new fields.

Public methods (4)
  • click2dial(self, erp_number)
    @api.model
    This function is designed to be overridden in IPBX-specific modules, such as asterisk_click2dial or ovh_telephony_connector
  • convert_to_dial_number(self, erp_number)
    @api.model
    This function is dedicated to the transformation of the number available in Odoo to the number that can be dialed. You may have to inherit this function in another module specific for your company if you are not happy with the way I reformat the numbers.
  • get_name_from_phone_number(self, presented_number)
    @api.model
    Function to get name from phone number. Usefull for use from IPBX to add CallerID name to incoming calls.
  • get_record_from_phone_number(self, presented_number)
    @api.model
    If it finds something, it returns (object name, ID, record name) For example : ('res.partner', 42, 'Alexis de Lattre (Akretion)')

New fields (0)

No new fields.

Public methods (1)
  • phone_format(self, number, country=None, company=None)

New fields (2)
  • phonenumbers_not_reformatted Text
    string="Phone numbers that couldn't be reformatted"
  • state Selection
    default='draft' args: [('draft', 'Draft'), ('done', 'Done')]
Public methods (1)
  • run_reformat_all_phonenumbers(self)

New fields (1)
  • number_of_digits_to_match_from_end Integer
    default=8 help='In several situations, Odoo will have to find a Partner/Lead/Employee/... from a phone number presented by the calling party. As the phone numbers presented by your phone operator may not always be displayed in a standard format, the best method to find the related Partner/Lead/Employee/... in Odoo is to try to match the end of the phone number in Odoo with the N last digits of the phone number presented by the calling party. N is the value you should enter in this field.' string='Number of Digits To Match From End'
Public methods (0)

No public methods.

New fields (1)
  • number_of_digits_to_match_from_end Integer
    readonly=False related='company_id.number_of_digits_to_match_from_end'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • name_get(self)
REPOSITORY
REPOSITORYOCA/connector-telephony
GIT
GIThttps://github.com/OCA/connector-telephony.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/connector-telephony/tree/14.0/base_phone
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYPhone
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, Pedro M. Baeza, OCA Transbot, Florian da Costa, oca-travis, Weblate, OCA-git-bot, Pierrick Brun, Cyril VINH-TUNG
WEBSITE
WEBSITEhttps://github.com/OCA/connector-telephony
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:40:57
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - phone_validation
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES phonenumbers
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
assets_backend base_phone assets ir.ui.view qweb Inherits web.assets_backend
number_not_found_form number.not.found.form number.not.found form New
reformat_all_phonenumbers_form reformat_all_phonenumbers.form reformat.all.phonenumbers form New
res_config_settings_view_form base_phone.base.config.settings.form res.config.settings xpath Inherits base_setup.res_config_settings_view_form
view_users_form base_phone.res.users.telephony_tab res.users notebook Inherits base.view_users_form
view_users_form_simple_modif base_phone.user_preferences.view res.users group Inherits base.view_users_form_simple_modif
Models touched (8)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (6)
  • calling_number Char
    help='Phone number of calling party that has been obtained from the telephony server, in the format used by the telephony server (not E.164).' readonly=True size=64 string='Calling Number'
  • current_partner_mobile Char
    related='to_update_partner_id.mobile' string='Current Mobile'
  • current_partner_phone Char
    related='to_update_partner_id.phone' string='Current Phone'
  • e164_number Char
    help='E.164 equivalent of the calling number.' size=64 string='E.164 Number'
  • number_type Selection
    required=True selection=[('phone', 'Fixed'), ('mobile', 'Mobile')] string='Fixed/Mobile'
  • to_update_partner_id Many2one → res.partner
    comodel_name='res.partner' help='Partner on which the phone number will be written' string='Partner to Update'
Public methods (3)
  • create_partner(self)
    Function called by the related button of the wizard
  • default_get(self, fields_list)
    @api.model
  • update_partner(self)
    Function called by the related button of the wizard

New fields (0)

No new fields.

Public methods (4)
  • click2dial(self, erp_number)
    @api.model
    This function is designed to be overridden in IPBX-specific modules, such as asterisk_click2dial or ovh_telephony_connector
  • convert_to_dial_number(self, erp_number)
    @api.model
    This function is dedicated to the transformation of the number available in Odoo to the number that can be dialed. You may have to inherit this function in another module specific for your company if you are not happy with the way I reformat the numbers.
  • get_name_from_phone_number(self, presented_number)
    @api.model
    Function to get name from phone number. Usefull for use from IPBX to add CallerID name to incoming calls.
  • get_record_from_phone_number(self, presented_number)
    @api.model
    If it finds something, it returns (object name, ID, record name) For example : ('res.partner', 42, 'Alexis de Lattre (Akretion)')

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • phonenumbers_not_reformatted Text
    string="Phone numbers that couldn't be reformatted"
  • state Selection
    default='draft' string='State' args: [('draft', 'Draft'), ('done', 'Done')]
Public methods (1)
  • run_reformat_all_phonenumbers(self)

New fields (1)
  • number_of_digits_to_match_from_end Integer
    default=8 help='In several situations, Odoo will have to find a Partner/Lead/Employee/... from a phone number presented by the calling party. As the phone numbers presented by your phone operator may not always be displayed in a standard format, the best method to find the related Partner/Lead/Employee/... in Odoo is to try to match the end of the phone number in Odoo with the N last digits of the phone number presented by the calling party. N is the value you should enter in this field.' string='Number of Digits To Match From End'
Public methods (0)

No public methods.

New fields (1)
  • number_of_digits_to_match_from_end Integer
    readonly=False related='company_id.number_of_digits_to_match_from_end'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • name_get(self)
REPOSITORY
REPOSITORYOCA/connector-telephony
GIT
GIThttps://github.com/OCA/connector-telephony.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/connector-telephony/tree/13.0/base_phone
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYPhone
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSOCA Transbot, oca-travis, Weblate, Christophe Langenberg
WEBSITE
WEBSITEhttp://www.akretion.com/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:12
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - phone_validation
    - base
    - mail
    - base_setup
    - web
    - bus
    - web_tour
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES phonenumbers
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
assets_backend base_phone assets ir.ui.view qweb Inherits web.assets_backend
number_not_found_form number.not.found.form number.not.found form New
reformat_all_phonenumbers_form reformat_all_phonenumbers.form reformat.all.phonenumbers form New
res_config_settings_view_form base_phone.base.config.settings.form res.config.settings xpath Inherits base_setup.res_config_settings_view_form
view_users_form base_phone.res.users.telephony_tab res.users notebook Inherits base.view_users_form
view_users_form_simple_modif base_phone.user_preferences.view res.users xpath Inherits base.view_users_form_simple_modif
Models touched (9)

New fields (0)

No new fields.

Public methods (2)
  • create(self, vals)
    @api.model
  • write(self, vals)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (6)
  • calling_number Char
    help='Phone number of calling party that has been obtained from the telephony server, in the format used by the telephony server (not E.164).' readonly=True size=64 string='Calling Number'
  • current_partner_mobile Char
    related='to_update_partner_id.mobile' string='Current Mobile'
  • current_partner_phone Char
    related='to_update_partner_id.phone' string='Current Phone'
  • e164_number Char
    help='E.164 equivalent of the calling number.' size=64 string='E.164 Number'
  • number_type Selection
    required=True selection=[('phone', 'Fixed'), ('mobile', 'Mobile')] string='Fixed/Mobile'
  • to_update_partner_id Many2one → res.partner
    comodel_name='res.partner' help='Partner on which the phone number will be written' string='Partner to Update'
Public methods (3)
  • create_partner(self)
    Function called by the related button of the wizard
  • default_get(self, fields_list)
    @api.model
  • update_partner(self)

New fields (0)

No new fields.

Public methods (4)
  • click2dial(self, erp_number)
    @api.model
    This function is designed to be overridden in IPBX-specific modules, such as asterisk_click2dial or ovh_telephony_connector
  • convert_to_dial_number(self, erp_number)
    @api.model
    This function is dedicated to the transformation of the number available in Odoo to the number that can be dialed. You may have to inherit this function in another module specific for your company if you are not happy with the way I reformat the numbers.
  • get_name_from_phone_number(self, presented_number)
    @api.model
    Function to get name from phone number. Usefull for use from IPBX to add CallerID name to incoming calls.
  • get_record_from_phone_number(self, presented_number)
    @api.model
    If it finds something, it returns (object name, ID, record name) For example : ('res.partner', 42, 'Alexis de Lattre (Akretion)')

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • phonenumbers_not_reformatted Text
    string="Phone numbers that couldn't be reformatted"
  • state Selection
    default='draft' string='State' args: [('draft', 'Draft'), ('done', 'Done')]
Public methods (1)
  • run_reformat_all_phonenumbers(self)

New fields (1)
  • number_of_digits_to_match_from_end Integer
    default=8 help='In several situations, Odoo will have to find a Partner/Lead/Employee/... from a phone number presented by the calling party. As the phone numbers presented by your phone operator may not always be displayed in a standard format, the best method to find the related Partner/Lead/Employee/... in Odoo is to try to match the end of the phone number in Odoo with the N last digits of the phone number presented by the calling party. N is the value you should enter in this field.' string='Number of Digits To Match From End'
Public methods (0)

No public methods.

New fields (1)
  • number_of_digits_to_match_from_end Integer
    readonly=False related='company_id.number_of_digits_to_match_from_end'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • name_get(self)
REPOSITORY
REPOSITORYOCA/connector-telephony
GIT
GIThttps://github.com/OCA/connector-telephony.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/connector-telephony/tree/12.0/base_phone
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYPhone
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, OCA Transbot, oca-travis, Weblate, OCA-git-bot, luffah
WEBSITE
WEBSITEhttp://www.akretion.com/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:29:16
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - phone_validation
    - base
    - base_setup
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES phonenumbers
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
assets_backend base_phone assets ir.ui.view qweb Inherits web.assets_backend
number_not_found_form number.not.found.form number.not.found form New
reformat_all_phonenumbers_form reformat_all_phonenumbers.form reformat.all.phonenumbers form New
res_config_settings_view_form base_phone.base.config.settings.form res.config.settings xpath Inherits base_setup.res_config_settings_view_form
view_users_form base_phone.res.users.telephony_tab res.users notebook Inherits base.view_users_form
view_users_form_simple_modif base_phone.user_preferences.view res.users xpath Inherits base.view_users_form_simple_modif
Models touched (9)

New fields (0)

No new fields.

Public methods (2)
  • create(self, vals)
    @api.model@api.returns('self', <expr>)
  • write(self, vals)
    @api.multi

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (6)
  • calling_number Char
    help='Phone number of calling party that has been obtained from the telephony server, in the format used by the telephony server (not E.164).' readonly=True size=64 string='Calling Number'
  • current_partner_mobile Char
    related='to_update_partner_id.mobile' string='Current Mobile'
  • current_partner_phone Char
    related='to_update_partner_id.phone' string='Current Phone'
  • e164_number Char
    help='E.164 equivalent of the calling number.' size=64 string='E.164 Number'
  • number_type Selection
    required=True selection=[('phone', 'Fixed'), ('mobile', 'Mobile')] string='Fixed/Mobile'
  • to_update_partner_id Many2one → res.partner
    comodel_name='res.partner' help='Partner on which the phone number will be written' string='Partner to Update'
Public methods (3)
  • create_partner(self)
    Function called by the related button of the wizard
  • default_get(self, fields_list)
    @api.model
  • update_partner(self)

New fields (0)

No new fields.

Public methods (4)
  • click2dial(self, erp_number)
    @api.model
    This function is designed to be overridden in IPBX-specific modules, such as asterisk_click2dial or ovh_telephony_connector
  • convert_to_dial_number(self, erp_number)
    @api.model
    This function is dedicated to the transformation of the number available in Odoo to the number that can be dialed. You may have to inherit this function in another module specific for your company if you are not happy with the way I reformat the numbers.
  • get_name_from_phone_number(self, presented_number)
    @api.model
    Function to get name from phone number. Usefull for use from IPBX to add CallerID name to incoming calls.
  • get_record_from_phone_number(self, presented_number)
    @api.model
    If it finds something, it returns (object name, ID, record name) For example : ('res.partner', 42, 'Alexis de Lattre (Akretion)')

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • phonenumbers_not_reformatted Text
    string="Phone numbers that couldn't be reformatted"
  • state Selection
    default='draft' string='State' args: [('draft', 'Draft'), ('done', 'Done')]
Public methods (1)
  • run_reformat_all_phonenumbers(self)

New fields (1)
  • number_of_digits_to_match_from_end Integer
    default=8 help='In several situations, Odoo will have to find a Partner/Lead/Employee/... from a phone number presented by the calling party. As the phone numbers presented by your phone operator may not always be displayed in a standard format, the best method to find the related Partner/Lead/Employee/... in Odoo is to try to match the end of the phone number in Odoo with the N last digits of the phone number presented by the calling party. N is the value you should enter in this field.' string='Number of Digits To Match From End'
Public methods (0)

No public methods.

New fields (1)
  • number_of_digits_to_match_from_end Integer
    readonly=False related='company_id.number_of_digits_to_match_from_end'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • name_get(self)
REPOSITORY
REPOSITORYOCA/connector-telephony
GIT
GIThttps://github.com/OCA/connector-telephony.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/connector-telephony/tree/11.0/base_phone
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYPhone
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, OCA Transbot, oca-travis, Weblate, OCA-git-bot, hparfr
WEBSITE
WEBSITEhttp://www.akretion.com/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:23:57
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - phone_validation
    - base
    - base_setup
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES phonenumbers
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
assets_backend base_phone assets ir.ui.view qweb Inherits web.assets_backend
number_not_found_form number.not.found.form number.not.found form New
reformat_all_phonenumbers_form reformat_all_phonenumbers.form reformat.all.phonenumbers form New
res_config_settings_view_form base_phone.base.config.settings.form res.config.settings xpath Inherits base_setup.res_config_settings_view_form
view_users_form base_phone.res.users.telephony_tab res.users notebook Inherits base.view_users_form
view_users_form_simple_modif base_phone.user_preferences.view res.users xpath Inherits base.view_users_form_simple_modif
Models touched (7)

New fields (6)
  • calling_number Char
    help='Phone number of calling party that has been obtained from the telephony server, in the format used by the telephony server (not E.164).' readonly=True size=64 string='Calling Number'
  • current_partner_mobile Char
    related='to_update_partner_id.mobile' string='Current Mobile'
  • current_partner_phone Char
    related='to_update_partner_id.phone' string='Current Phone'
  • e164_number Char
    help='E.164 equivalent of the calling number.' size=64 string='E.164 Number'
  • number_type Selection
    required=True selection=[('phone', 'Fixed'), ('mobile', 'Mobile')] string='Fixed/Mobile'
  • to_update_partner_id Many2one → res.partner
    comodel_name='res.partner' help='Partner on which the phone number will be written' string='Partner to Update'
Public methods (3)
  • create_partner(self)
    Function called by the related button of the wizard
  • default_get(self, fields_list)
    @api.model
  • update_partner(self)

New fields (0)

No new fields.

Public methods (4)
  • click2dial(self, erp_number)
    @api.model
    This function is designed to be overridden in IPBX-specific modules, such as asterisk_click2dial or ovh_telephony_connector
  • convert_to_dial_number(self, erp_number)
    @api.model
    This function is dedicated to the transformation of the number available in Odoo to the number that can be dialed. You may have to inherit this function in another module specific for your company if you are not happy with the way I reformat the numbers.
  • get_name_from_phone_number(self, presented_number)
    @api.model
    Function to get name from phone number. Usefull for use from IPBX to add CallerID name to incoming calls.
  • get_record_from_phone_number(self, presented_number)
    @api.model
    If it finds something, it returns (object name, ID, record name) For example : ('res.partner', 42, 'Alexis de Lattre (Akretion)')

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (2)
  • phonenumbers_not_reformatted Text
    string="Phone numbers that couldn't be reformatted"
  • state Selection
    default='draft' string='State' args: [('draft', 'Draft'), ('done', 'Done')]
Public methods (1)
  • run_reformat_all_phonenumbers(self)

New fields (1)
  • number_of_digits_to_match_from_end Integer
    default=8 help='In several situations, Odoo will have to find a Partner/Lead/Employee/... from a phone number presented by the calling party. As the phone numbers presented by your phone operator may not always be displayed in a standard format, the best method to find the related Partner/Lead/Employee/... in Odoo is to try to match the end of the phone number in Odoo with the N last digits of the phone number presented by the calling party. N is the value you should enter in this field.' string='Number of Digits To Match From End'
Public methods (0)

No public methods.

New fields (1)
  • number_of_digits_to_match_from_end Integer
    related='company_id.number_of_digits_to_match_from_end'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • name_get(self)
REPOSITORY
REPOSITORYOCA/connector-telephony
GIT
GIThttps://github.com/OCA/connector-telephony.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/connector-telephony/tree/10.0/base_phone
VERSION
VERSION 0.1.0
CATEGORY
CATEGORYPhone
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, Pedro M. Baeza, GitHub, Stéphane Bidoul (ACSONE), OCA Transbot, oca-travis, Weblate, OCA-git-bot, Sylvain GARANCHER
WEBSITE
WEBSITEhttp://www.akretion.com/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:19:55
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base_setup
    - base
    - web_kanban
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES phonenumbers
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (6)
XML IDNameModelTypeStatus
assets_backend base_phone assets ir.ui.view qweb Inherits web.assets_backend
number_not_found_form number.not.found.form number.not.found form New
reformat_all_phonenumbers_form reformat_all_phonenumbers.form reformat.all.phonenumbers form New
view_general_configuration base_phone.base.config.settings.form base.config.settings group Inherits base_setup.view_general_configuration
view_users_form base_phone.res.users.telephony_tab res.users notebook Inherits base.view_users_form
view_users_form_simple_modif base_phone.user_preferences.view res.users xpath Inherits base.view_users_form_simple_modif
Models touched (7)

New fields (0)

No new fields.

Public methods (2)
  • create(self, vals)
    @api.model@api.returns('self', <expr>)
  • write(self, vals)
    @api.multi

New fields (1)
  • number_of_digits_to_match_from_end Integer
    related='company_id.number_of_digits_to_match_from_end'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (4)
  • click2dial(self, erp_number)
    @api.model
    This function is designed to be overridden in IPBX-specific modules, such as asterisk_click2dial or ovh_telephony_connector
  • convert_to_dial_number(self, erp_number)
    @api.model
    This function is dedicated to the transformation of the number available in Odoo to the number that can be dialed. You may have to inherit this function in another module specific for your company if you are not happy with the way I reformat the numbers.
  • get_name_from_phone_number(self, presented_number)
    @api.model
    Function to get name from phone number. Usefull for use from IPBX to add CallerID name to incoming calls.
  • get_record_from_phone_number(self, presented_number)
    @api.model
    If it finds something, it returns (object name, ID, record name) For example : ('res.partner', 42, u'Alexis de Lattre (Akretion)')

New fields (2)
  • phonenumbers_not_reformatted Text
    string="Phone numbers that couldn't be reformatted"
  • state Selection
    default='draft' string='State' args: [('draft', 'Draft'), ('done', 'Done')]
Public methods (1)
  • run_reformat_all_phonenumbers(self)
    @api.multi

New fields (1)
  • number_of_digits_to_match_from_end Integer
    default=8 help='In several situations, Odoo will have to find a Partner/Lead/Employee/... from a phone number presented by the calling party. As the phone numbers presented by your phone operator may not always be displayed in a standard format, the best method to find the related Partner/Lead/Employee/... in Odoo is to try to match the end of the phone number in Odoo with the N last digits of the phone number presented by the calling party. N is the value you should enter in this field.' string='Number of Digits To Match From End'
Public methods (0)

No public methods.

New fields (3)
  • fax Fax
    country_field='country_id' partner_field='parent_id'
  • mobile Phone
    country_field='country_id' partner_field='parent_id'
  • phone Phone
    country_field='country_id' partner_field='parent_id'
Public methods (1)
  • name_get(self)
    @api.multi
REPOSITORY
REPOSITORYOCA/connector-telephony
GIT
GIThttps://github.com/OCA/connector-telephony.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/connector-telephony/tree/9.0/base_phone
VERSION
VERSION 0.1.0
CATEGORY
CATEGORYPhone
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, Sebastien LANGE, Pedro M. Baeza, GitHub, Stéphane Bidoul (ACSONE), Invitu, OCA Transbot, OCA-git-bot, Grzegorz Marczynski
WEBSITE
WEBSITEhttp://www.akretion.com/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:15:20
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES phonenumbers
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (8)
XML IDNameModelTypeStatus
assets_backend base_phone assets ir.ui.view qweb Inherits web.assets_backend
number_not_found_form number.not.found.form number.not.found form New
reformat_all_phonenumbers_form reformat_all_phonenumbers.form reformat.all.phonenumbers form New
view_company_form base_phone.company.form res.company group Inherits base.view_company_form
view_partner_form base.phone.res.partner.form res.partner xpath Inherits base.view_partner_form
view_partner_tree base_phone.phone.widget.partner.tree res.partner field Inherits base.view_partner_tree
view_users_form base_phone.res.users.telephony_tab res.users notebook Inherits base.view_users_form
view_users_form_simple_modif base_phone.user_preferences.view res.users xpath Inherits base.view_users_form_simple_modif
Models touched (4)

New fields (0)

No new fields.

Public methods (4)
  • click2dial(self, erp_number)
    @api.model
    This function is designed to be overridden in IPBX-specific modules, such as asterisk_click2dial or ovh_telephony_connector
  • convert_to_dial_number(self, erp_number)
    @api.model
    This function is dedicated to the transformation of the number available in Odoo to the number that can be dialed. You may have to inherit this function in another module specific for your company if you are not happy with the way I reformat the numbers.
  • get_name_from_phone_number(self, presented_number)
    @api.model
    Function to get name from phone number. Usefull for use from IPBX to add CallerID name to incoming calls.
  • get_record_from_phone_number(self, presented_number)
    @api.model
    If it finds something, it returns (object name, ID, record name) For example : ('res.partner', 42, u'Alexis de Lattre (Akretion)')

New fields (2)
  • phonenumbers_not_reformatted Text
    string="Phone numbers that couldn't be reformatted"
  • state Selection
    default='draft' string='State' args: [('draft', 'Draft'), ('done', 'Done')]
Public methods (1)
  • run_reformat_all_phonenumbers(self)
    @api.multi

New fields (1)
  • number_of_digits_to_match_from_end Integer
    default=8 help='In several situations, OpenERP will have to find a Partner/Lead/Employee/... from a phone number presented by the calling party. As the phone numbers presented by your phone operator may not always be displayed in a standard format, the best method to find the related Partner/Lead/Employee/... in OpenERP is to try to match the end of the phone number in OpenERP with the N last digits of the phone number presented by the calling party. N is the value you should enter in this field.' string='Number of Digits To Match From End'
Public methods (0)

No public methods.

New fields (3)
  • fax Phone
    country_field='country_id' partner_field='parent_id'
  • mobile Phone
    country_field='country_id' partner_field='parent_id'
  • phone Phone
    country_field='country_id' partner_field='parent_id'
Public methods (1)
  • name_get(self)
    @api.multi
REPOSITORY
REPOSITORYOCA/connector-telephony
GIT
GIThttps://github.com/OCA/connector-telephony.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/connector-telephony/tree/8.0/base_phone
VERSION
VERSION 0.1.0
CATEGORY
CATEGORYPhone
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSBenoit Guillot, Stéphane Bidoul, Alexis de Lattre, Yannick Vaucher, Guewen Baconnier, Alexandre Fayolle, Sandy Carter, Pedro M. Baeza, GitHub, Stéphane Bidoul (ACSONE), OCA Transbot, Damien Crier, oca-travis, Weblate, OCA-git-bot, Andhitia Rama, Matjaž Mozetič, Igor, Valentin Lab, Tristan Hill, Christophe CHAUVET
WEBSITE
WEBSITEhttp://www.akretion.com/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:11:21
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES phonenumbers
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Base Phone
==========

This module validate phone numbers using the *phonenumbers* Python library,
which is a port of the library used in Android smartphones. For example, if
your user is linked to a French company and you update the form view of a
partner with a badly written French phone number such as '01-55-42-12-42',
Odoo will automatically update the phone number to E.164 format '+33155421242'
and display in the form and tree view of the partner the readable equivalent
'+33 1 55 42 12 42'.

This module also adds *tel:* links on phone numbers and *fax:* links on fax
numbers. If you have a softphone or a client software on your PC that is
associated with *tel:* links, the softphone should propose you to dial the
phone number when you click on such a link.

This module also updates the format() function for reports and adds 2
arguments :

* *phone* : should be True for a phone number, False (default) otherwize.
* *phone_format* : it can have 3 possible values :
    * *international* (default) : the report will display '+33 1 55 42 12 42'
    * *national* : the report will display '01 55 42 12 42'
    * *e164* : the report will display '+33155421242'

For example, in the Sale Order report, to display the phone number of the
Salesman, you can write :  o.user_id and o.user_id.phone and
format(o.user_id.phone, phone=True, phone_format='national') or ''

This module is independant from the Asterisk connector.

Please contact Alexis de Lattre from Akretion <alexis.delattre@akretion.com>
for any help or question about this module.

Code Analysis

Views touched (9)
XML IDNameModelTypeStatus
assets_backend base_phone assets ir.ui.view qweb Inherits web.assets_backend
number_not_found_form number.not.found.form number.not.found form New
reformat_all_phonenumbers_form reformat_all_phonenumbers.form reformat.all.phonenumbers form New
view_company_form base_phone.company.form res.company group Inherits base.view_company_form
view_partner_form base.phone.res.partner.form res.partner xpath Inherits base.view_partner_form
view_partner_simple_form base.phone.res.partner.simplified.form res.partner field Inherits base.view_partner_simple_form
view_partner_tree base_phone.phone.widget.partner.tree res.partner field Inherits base.view_partner_tree
view_users_form base_phone.res.users.telephony_tab res.users notebook Inherits base.view_users_form
view_users_form_simple_modif base_phone.user_preferences.view res.users group Inherits base.view_users_form_simple_modif
Models touched (2)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (4)
  • create_partner(self, cr, uid, ids, context=None)
    Function called by the related button of the wizard
  • default_get(self, cr, uid, fields_list, context=None)
  • onchange_to_update_partner(self, cr, uid, ids, to_update_partner_id, context=None)
  • update_partner(self, cr, uid, ids, context=None)
REPOSITORY
REPOSITORYOCA/connector-telephony
GIT
GIThttps://github.com/OCA/connector-telephony.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/connector-telephony/tree/7.0/base_phone
VERSION
VERSION 0.1
CATEGORY
CATEGORYPhone
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONNo
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Akretion
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Akretion
COMMITTERS
COMMITTERSAlexis de Lattre, Alexandre Fayolle, Sandy Carter, Rudolf Schnapka, czoellner
WEBSITE
WEBSITEhttp://www.akretion.com/
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:07:13
ODOO DEPENDENCIES
ODOO DEPENDENCIES odoo/odoo:
    - base
    - web
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES phonenumbers
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
Base Phone
==========

This module validate phone numbers using the *phonenumbers* Python library,
which is a port of the library used in Android smartphones. For example, if
your user is linked to a French company and you update the form view of a
partner with a badly written French phone number such as '01-55-42-12-42',
Odoo will automatically update the phone number to E.164 format '+33155421242'
and display in the form view of the partner the readable equivalent
'+33 1 55 42 12 42'.

This module also adds *tel:* links on phone numbers and *fax:* links on fax
numbers. If you have a softphone or a client software on your PC that is
associated with *tel:* links, the softphone should propose you to dial the
phone number when you click on such a link.

This module also updates the format() function for reports and adds 2
arguments :

* *phone* : should be True for a phone number, False (default) otherwize.
* *phone_format* : it can have 3 possible values :
    * *international* (default) : the report will display '+33 1 55 42 12 42'
    * *national* : the report will display '01 55 42 12 42'
    * *e164* : the report will display '+33155421242'

For example, in the Sale Order report, to display the phone number of the
Salesman, you can write :  o.user_id and o.user_id.phone and
format(o.user_id.phone, phone=True, phone_format='national') or ''

This module is independant from the Asterisk connector.

Please contact Alexis de Lattre from Akretion <alexis.delattre@akretion.com>
for any help or question about this module.

Code Analysis

Views touched (7)
XML IDNameModelTypeStatus
number_not_found_form number.not.found.form number.not.found form New
reformat_all_phonenumbers_form reformat_all_phonenumbers.form reformat.all.phonenumbers form New
view_company_form base_phone.company.form res.company group Inherits base.view_company_form
view_partner_form base.phone.res.partner.form res.partner xpath Inherits base.view_partner_form
view_partner_simple_form base.phone.res.partner.simplified.form res.partner field Inherits base.view_partner_simple_form
view_users_form base_phone.res.users.telephony_tab res.users notebook Inherits base.view_users_form
view_users_form_simple_modif base_phone.user_preferences.view res.users group Inherits base.view_users_form_simple_modif
Models touched (2)

New fields (0)

No new fields.

Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (4)
  • create_partner(self, cr, uid, ids, context=None)
    Function called by the related button of the wizard
  • default_get(self, cr, uid, fields_list, context=None)
  • onchange_to_update_partner(self, cr, uid, ids, to_update_partner_id, context=None)
  • update_partner(self, cr, uid, ids, context=None)