diff --git a/addons/anonymization/wizard/anonymize_wizard.py b/addons/anonymization/wizard/anonymize_wizard.py index 0d0ecfaaa63..221a98d0eba 100644 --- a/addons/anonymization/wizard/anonymize_wizard.py +++ b/addons/anonymization/wizard/anonymize_wizard.py @@ -126,6 +126,9 @@ class IrModelFieldsAnonymizeWizard(models.TransientModel): @api.multi def anonymize_database(self): """Sets the 'anonymized' state to defined fields""" + # pylint: disable=W0101 + raise UserError("""The Odoo Migration Platform no longer accepts anonymized databases.\n + If you wish for your data to remain private during migration, please contact us at upgrade@odoo.com""") self.ensure_one() # create a new history record: diff --git a/addons/crm/models/crm_lead.py b/addons/crm/models/crm_lead.py index 6217de474c2..5143113150c 100644 --- a/addons/crm/models/crm_lead.py +++ b/addons/crm/models/crm_lead.py @@ -639,6 +639,8 @@ class Lead(models.Model): @api.model def _get_duplicated_leads_by_emails(self, partner_id, email, include_lost=False): """ Search for opportunities that have the same partner and that arent done or cancelled """ + if not email: + return [] partner_match_domain = [] for email in set(email_split(email) + [email]): partner_match_domain.append(('email_from', '=ilike', email)) diff --git a/addons/delivery/models/sale_order.py b/addons/delivery/models/sale_order.py index ccfed1a2e74..efc439f435e 100644 --- a/addons/delivery/models/sale_order.py +++ b/addons/delivery/models/sale_order.py @@ -75,6 +75,9 @@ class SaleOrder(models.Model): def _create_delivery_line(self, carrier, price_unit): SaleOrderLine = self.env['sale.order.line'] + if self.partner_id: + # set delivery detail in the customer language + carrier = carrier.with_context(lang=self.partner_id.lang) # Apply fiscal position taxes = carrier.product_id.taxes_id.filtered(lambda t: t.company_id.id == self.company_id.id) diff --git a/addons/purchase/models/account_invoice.py b/addons/purchase/models/account_invoice.py index 27cdbcaf8b1..604184c0582 100644 --- a/addons/purchase/models/account_invoice.py +++ b/addons/purchase/models/account_invoice.py @@ -23,11 +23,12 @@ class AccountInvoice(models.Model): purchase_line_ids = self.invoice_line_ids.mapped('purchase_line_id') purchase_ids = self.invoice_line_ids.mapped('purchase_id').filtered(lambda r: r.order_line <= purchase_line_ids) - result['domain'] = {'purchase_id': [ - ('invoice_status', '=', 'to invoice'), - ('partner_id', 'child_of', self.partner_id.id), - ('id', 'not in', purchase_ids.ids), - ]} + domain = [('invoice_status', '=', 'to invoice')] + if self.partner_id: + domain += [('partner_id', 'child_of', self.partner_id.id)] + if purchase_ids: + domain += [('id', 'not in', purchase_ids.ids)] + result['domain'] = {'purchase_id': domain} return result def _prepare_invoice_line_from_po_line(self, line): diff --git a/addons/sale_crm/views/crm_lead_views.xml b/addons/sale_crm/views/crm_lead_views.xml index a85f89b796a..ce5d0aba195 100644 --- a/addons/sale_crm/views/crm_lead_views.xml +++ b/addons/sale_crm/views/crm_lead_views.xml @@ -17,7 +17,10 @@