From 2f0912e7ac20334fb94b4eaacd032198d6baaed1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Wed, 21 Jul 2021 23:54:13 +0200 Subject: [PATCH] Restore instance context when getting account used The account_used is set on property so it is executed under the transaction context but we expect to have the account from the company set in the instance context. issue10557 review355371002 --- product.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/product.py b/product.py index 986a3bac33..0b87493127 100644 --- a/product.py +++ b/product.py @@ -4,6 +4,7 @@ from trytond.i18n import gettext from trytond.model import fields from trytond.pool import PoolMeta, Pool from trytond.pyson import Eval +from trytond.transaction import Transaction from .exceptions import GiftCardValidationError @@ -44,7 +45,10 @@ class Template(metaclass=PoolMeta): pool = Pool() Config = pool.get('account.configuration') if self.gift_card: - config = Config(1) + transaction = Transaction() + with transaction.reset_context(), \ + transaction.set_context(self._context): + config = Config(1) return config.gift_card_account_expense return super().account_expense_used @@ -53,7 +57,10 @@ class Template(metaclass=PoolMeta): pool = Pool() Config = pool.get('account.configuration') if self.gift_card: - config = Config(1) + transaction = Transaction() + with transaction.reset_context(), \ + transaction.set_context(self._context): + config = Config(1) return config.gift_card_account_revenue return super().account_revenue_used