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
This commit is contained in:
+9
-2
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user