Let statistical analysis determine the probability to close a lead
-
+
+ Fields used in probability computation:
+
+
+
+
Consider leads created as of the
-
- Consider following fields in computation
-
-
-
@@ -77,14 +79,12 @@
-
+
- Convert visitors of your website into leads and perform data enrichment based on their IP address.
+ Convert visitors of your website into leads and perform data enrichment based on their IP address
-
-
@@ -93,23 +93,7 @@
- Generate new leads based on their country, industries, size, etc.
-
-
-
-
-
Contacts
-
-
-
- Phone Formatting
-
- Format phone numbers based on national conventions
-
-
-
-
-
+ Generate new leads based on their country, industry, size, etc.
diff --git a/addons/mass_mailing/models/res_config_settings.py b/addons/mass_mailing/models/res_config_settings.py
index 467d6560686..b915057da5c 100644
--- a/addons/mass_mailing/models/res_config_settings.py
+++ b/addons/mass_mailing/models/res_config_settings.py
@@ -7,11 +7,11 @@ from odoo import api, fields, models
class ResConfigSettings(models.TransientModel):
_inherit = 'res.config.settings'
- group_mass_mailing_campaign = fields.Boolean(string="Mass Mailing Campaigns", implied_group='mass_mailing.group_mass_mailing_campaign', help="""This is useful if your marketing campaigns are composed of several emails""")
- mass_mailing_outgoing_mail_server = fields.Boolean(string="Specific Mail Server", config_parameter='mass_mailing.outgoing_mail_server',
+ group_mass_mailing_campaign = fields.Boolean(string="Mailing Campaigns", implied_group='mass_mailing.group_mass_mailing_campaign', help="""This is useful if your marketing campaigns are composed of several emails""")
+ mass_mailing_outgoing_mail_server = fields.Boolean(string="Dedicated Server", config_parameter='mass_mailing.outgoing_mail_server',
help='Use a specific mail server in priority. Otherwise Odoo relies on the first outgoing mail server available (based on their sequencing) as it does for normal mails.')
mass_mailing_mail_server_id = fields.Many2one('ir.mail_server', string='Mail Server', config_parameter='mass_mailing.mail_server_id')
- show_blacklist_buttons = fields.Boolean(string="Show blacklist buttons on unsubscribe page",
+ show_blacklist_buttons = fields.Boolean(string="Blacklist Option when Unsubscribing",
config_parameter='mass_mailing.show_blacklist_buttons',
help="""Allow the recipient to manage himself his state in the blacklist via the unsubscription page.""")
diff --git a/addons/mass_mailing/views/res_config_settings_views.xml b/addons/mass_mailing/views/res_config_settings_views.xml
index 00781978dbc..0883681723c 100644
--- a/addons/mass_mailing/views/res_config_settings_views.xml
+++ b/addons/mass_mailing/views/res_config_settings_views.xml
@@ -17,14 +17,7 @@
- Manage campaigns of mass emails with process stages
-
-
-
-
-
+ Manage mass mailing campaigns
@@ -35,12 +28,15 @@
- Use a specific mail server for mailings
+ Use a dedicated server for mailings
+
+
+
@@ -53,7 +49,7 @@
- Allow the recipient to manage himself his state in the blacklist via the unsubscription page.
+ Allow recipients to blacklist themselves
diff --git a/addons/mrp/views/res_config_settings_views.xml b/addons/mrp/views/res_config_settings_views.xml
index a40a1d150ee..ced612f47d2 100644
--- a/addons/mrp/views/res_config_settings_views.xml
+++ b/addons/mrp/views/res_config_settings_views.xml
@@ -22,7 +22,7 @@
Process operations at specific work centers based on the routing
-
+
@@ -33,17 +33,6 @@
-
-
-
-
-
-
-
- Add quality checks to your work orders
-
-
-
@@ -55,8 +44,18 @@
+
+
+
+
+
+
+
+ Add quality checks to your work orders
+
+
+
-
Products
@@ -96,7 +95,6 @@
- Move forward deadline start dates by
days
diff --git a/addons/phone_validation/models/__init__.py b/addons/phone_validation/models/__init__.py
index dfe42e557e3..ba75abd0ddb 100644
--- a/addons/phone_validation/models/__init__.py
+++ b/addons/phone_validation/models/__init__.py
@@ -4,4 +4,3 @@
from . import phone_blacklist
from . import phone_validation_mixin
from . import mail_thread_phone
-from . import res_company
diff --git a/addons/phone_validation/models/phone_validation_mixin.py b/addons/phone_validation/models/phone_validation_mixin.py
index 0e7ab1c2aaa..10eccb9b307 100644
--- a/addons/phone_validation/models/phone_validation_mixin.py
+++ b/addons/phone_validation/models/phone_validation_mixin.py
@@ -19,21 +19,15 @@ class PhoneValidationMixin(models.AbstractModel):
return self.country_id
return self.env.company.country_id
- def _phone_get_always_international(self):
- if 'company_id' in self and self.company_id:
- return self.company_id.phone_international_format == 'prefix'
- return self.env.company.phone_international_format == 'prefix'
-
def phone_format(self, number, country=None, company=None):
country = country or self._phone_get_country()
if not country:
return number
- always_international = company.phone_international_format == 'prefix' if company else self._phone_get_always_international()
return phone_validation.phone_format(
number,
country.code if country else None,
country.phone_code if country else None,
- force_format='INTERNATIONAL' if always_international else 'NATIONAL',
+ force_format='INTERNATIONAL',
raise_exception=False
)
diff --git a/addons/phone_validation/models/res_company.py b/addons/phone_validation/models/res_company.py
deleted file mode 100644
index df53ca6196b..00000000000
--- a/addons/phone_validation/models/res_company.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# -*- coding: utf-8 -*-
-# Part of Odoo. See LICENSE file for full copyright and licensing details.
-
-from odoo import fields, models
-
-
-class ResCompany(models.Model):
- _inherit = 'res.company'
-
- phone_international_format = fields.Selection([
- ('no_prefix', 'No prefix'),
- ('prefix', 'Add international prefix'),
- ], string="Local Numbers", default="prefix",
- help="Always encode phone numbers using international format. Otherwise "
- "numbers coming from the company's country are nationally formatted. "
- "International numbers are always using international format."
- )
diff --git a/addons/point_of_sale/views/res_config_settings_views.xml b/addons/point_of_sale/views/res_config_settings_views.xml
index e943c95dbb9..35477705722 100644
--- a/addons/point_of_sale/views/res_config_settings_views.xml
+++ b/addons/point_of_sale/views/res_config_settings_views.xml
@@ -21,7 +21,7 @@
-
+
@@ -43,7 +43,9 @@
-
+
+
+
@@ -57,7 +59,7 @@
Record transactions in foreign currencies
-
+
diff --git a/addons/project/views/res_config_settings_views.xml b/addons/project/views/res_config_settings_views.xml
index c2177fbdc30..fbc24208ec2 100644
--- a/addons/project/views/res_config_settings_views.xml
+++ b/addons/project/views/res_config_settings_views.xml
@@ -42,7 +42,7 @@
Track customer satisfaction on tasks
-
+
diff --git a/addons/purchase/models/purchase.py b/addons/purchase/models/purchase.py
index 3f5beb0ff1f..d5b2df84fcc 100644
--- a/addons/purchase/models/purchase.py
+++ b/addons/purchase/models/purchase.py
@@ -213,7 +213,7 @@ class PurchaseOrder(models.Model):
@api.onchange('partner_id')
def onchange_partner_id_warning(self):
- if not self.partner_id:
+ if not self.partner_id or not self.env.user.has_group('purchase.group_warning_purchase'):
return
warning = {}
title = False
@@ -626,7 +626,7 @@ class PurchaseOrderLine(models.Model):
@api.onchange('product_id')
def onchange_product_id_warning(self):
- if not self.product_id:
+ if not self.product_id or not self.env.user.has_group('purchase.group_warning_purchase'):
return
warning = {}
title = False
diff --git a/addons/purchase/models/res_config_settings.py b/addons/purchase/models/res_config_settings.py
index e948eecde18..7b2469c5559 100644
--- a/addons/purchase/models/res_config_settings.py
+++ b/addons/purchase/models/res_config_settings.py
@@ -21,8 +21,6 @@ class ResConfigSettings(models.TransientModel):
help="This default value is applied to any new product created. "
"This can be changed in the product detail form.", default="receive")
group_warning_purchase = fields.Boolean("Purchase Warnings", implied_group='purchase.group_warning_purchase')
- group_manage_vendor_price = fields.Boolean("Vendor Pricelists",
- implied_group="purchase.group_manage_vendor_price")
module_account_3way_match = fields.Boolean("3-way matching: purchases, receptions and bills")
module_purchase_requisition = fields.Boolean("Purchase Agreements")
module_purchase_product_matrix = fields.Boolean("Variants Grid Entry")
diff --git a/addons/purchase/security/purchase_security.xml b/addons/purchase/security/purchase_security.xml
index ebc26ae2041..ab383edbfc0 100644
--- a/addons/purchase/security/purchase_security.xml
+++ b/addons/purchase/security/purchase_security.xml
@@ -20,11 +20,6 @@
-
- Manage Vendor Price
-
-
-
A warning can be set on a product or a customer (Purchase)
diff --git a/addons/purchase/views/purchase_views.xml b/addons/purchase/views/purchase_views.xml
index f42b85bf063..ce1057ed9f2 100644
--- a/addons/purchase/views/purchase_views.xml
+++ b/addons/purchase/views/purchase_views.xml
@@ -20,7 +20,7 @@
+ parent="menu_purchase_config" sequence="1"/>
- Managers must approve orders
+ Request managers to approve orders above a minimum amount
@@ -39,7 +39,7 @@
- No longer edit orders once confirmed
+ Automatically lock confirmed orders to prevent edition