From 74419b51eb22332bcdd658baa24367733a9cc098 Mon Sep 17 00:00:00 2001 From: Jairo Llopis Date: Tue, 27 Feb 2018 11:50:49 +0000 Subject: [PATCH] [FIX] account_invoice_tax_required: No conflict installing other modules (#617) When this addon is installed and you install l10n_generic_coa with demo data, it crashes. Now it doesn't. --- .../models/account_invoice.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/account_invoice_tax_required/models/account_invoice.py b/account_invoice_tax_required/models/account_invoice.py index e3101fb3c..23c32f791 100644 --- a/account_invoice_tax_required/models/account_invoice.py +++ b/account_invoice_tax_required/models/account_invoice.py @@ -27,8 +27,17 @@ class AccountInvoice(models.Model): @api.multi def invoice_validate(self): - if not (config['test_enable'] and - not self.env.context.get('test_tax_required')): + # Always test if it is required by context + force_test = self.env.context.get('test_tax_required') + skip_test = any(( + # It usually fails when installing other addons with demo data + self.env["ir.module.module"].search([ + ("state", "in", ["to install", "to upgrade"]), + ("demo", "=", True), + ]), + # Avoid breaking unaware addons' tests by default + config["test_enable"], + )) + if force_test or not skip_test: self._test_invoice_line_tax() - res = super(AccountInvoice, self).invoice_validate() - return res + return super(AccountInvoice, self).invoice_validate()