From 1ad04f2180bbb991d18e8fd770e9d649a2ee6ed0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Rahir?= Date: Tue, 3 Sep 2019 15:08:45 +0000 Subject: [PATCH 1/3] [FIX] phone_validation: set module as auto install to auto install SMS bridges PURPOSE Allow auto install of all SMS-based feature. Move partner onchange formatting directly inside phone validation. SPECIFICATIONS Phone validation: set as auto install. Phone validation module is a direct dependency of SMS which is integrated in more and more business apps. As such we want sms to be auto-installed, hence making phone_validation auto-install as well. LINKS Task 2061765 --- addons/phone_validation/__manifest__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/phone_validation/__manifest__.py b/addons/phone_validation/__manifest__.py index 31a25fec0db..1d9fce1843b 100644 --- a/addons/phone_validation/__manifest__.py +++ b/addons/phone_validation/__manifest__.py @@ -31,4 +31,5 @@ It adds two mixins : 'base', 'mail', ], + 'auto_install': True, } From f6c2d7ebba9826dd7b7b3ab8b0dbc31d25ccf262 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9mi=20Rahir?= Date: Thu, 5 Sep 2019 12:47:32 +0000 Subject: [PATCH 2/3] [IMP] base_setup : remove install button of SMS PURPOSE Allow auto install of all SMS-based feature. Move partner onchange formatting directly inside phone validation. SPECIFICATIONS Send SMS feature should not be an option anymore. Move SMS settings it to the left of the Partner Autocomplete one and remove field. Since SMS is now integrated with several business apps we do not want the user to uninstall that module "by inadvertence". LINKS Task 2061765 --- .../base_setup/models/res_config_settings.py | 1 - .../views/res_config_settings_views.xml | 19 ++++++++----------- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/addons/base_setup/models/res_config_settings.py b/addons/base_setup/models/res_config_settings.py index e54b4dbf002..058c10b06aa 100644 --- a/addons/base_setup/models/res_config_settings.py +++ b/addons/base_setup/models/res_config_settings.py @@ -29,7 +29,6 @@ class ResConfigSettings(models.TransientModel): module_voip = fields.Boolean("Asterisk (VoIP)") module_web_unsplash = fields.Boolean("Unsplash Image Library") module_partner_autocomplete = fields.Boolean("Partner Autocomplete") - module_sms = fields.Boolean("Send SMS") module_base_geolocalize = fields.Boolean("GeoLocalize") report_footer = fields.Text(related="company_id.report_footer", string='Custom Report Footer', help="Footer text displayed at the bottom of all reports.", readonly=False) group_multi_currency = fields.Boolean(string='Multi-Currencies', diff --git a/addons/base_setup/views/res_config_settings_views.xml b/addons/base_setup/views/res_config_settings_views.xml index 5938cab733e..071e743d52b 100644 --- a/addons/base_setup/views/res_config_settings_views.xml +++ b/addons/base_setup/views/res_config_settings_views.xml @@ -133,6 +133,14 @@

Contacts

+
+
+
Send SMS
+
+ Send texts to your contacts +
+
+
@@ -144,17 +152,6 @@
-
-
- -
-
-
-
From d2809cbd941b20928cd1e48c50c1339888853d98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Mon, 9 Sep 2019 12:44:40 +0000 Subject: [PATCH 3/3] [IMP] phone_validation, crm: move onchange on phone fields PURPOSE Allow auto install of all SMS-based feature. Move partner onchange formatting directly inside phone validation. SPECIFICATIONS Move the onchange on the phone field of contact model directly inside phone validation to have it available in all SMS based applications. LINKS Task 2061765 --- addons/crm/models/res_partner.py | 14 +------------- addons/phone_validation/models/res_partner.py | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 13 deletions(-) create mode 100644 addons/phone_validation/models/res_partner.py diff --git a/addons/crm/models/res_partner.py b/addons/crm/models/res_partner.py index 630ae8cf308..1c986659225 100644 --- a/addons/crm/models/res_partner.py +++ b/addons/crm/models/res_partner.py @@ -6,7 +6,7 @@ from odoo import api, fields, models class Partner(models.Model): _name = 'res.partner' - _inherit = ['res.partner', 'phone.validation.mixin'] + _inherit = 'res.partner' team_id = fields.Many2one('crm.team', string='Sales Team') opportunity_ids = fields.One2many('crm.lead', 'partner_id', string='Opportunities', domain=[('type', '=', 'opportunity')]) @@ -45,18 +45,6 @@ class Partner(models.Model): for partner in self: partner.meeting_count = len(partner.meeting_ids) - # Phone Validation - # ---------------- - @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 schedule_meeting(self): partner_ids = self.ids partner_ids.append(self.env.user.partner_id.id) diff --git a/addons/phone_validation/models/res_partner.py b/addons/phone_validation/models/res_partner.py new file mode 100644 index 00000000000..d0b125e6d64 --- /dev/null +++ b/addons/phone_validation/models/res_partner.py @@ -0,0 +1,19 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import api, models + + +class Partner(models.Model): + _name = 'res.partner' + _inherit = ['res.partner', 'phone.validation.mixin'] + + @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)