diff --git a/modules/purchase_trade/purchase.py b/modules/purchase_trade/purchase.py index 7395d1b..49f38c7 100755 --- a/modules/purchase_trade/purchase.py +++ b/modules/purchase_trade/purchase.py @@ -464,14 +464,17 @@ class Purchase(metaclass=PoolMeta): self.our_bank_account = self._get_default_our_bank_account() @classmethod - def default_currency(cls): - if is_itsa_company(): + def default_currency(cls, **pattern): + company = pattern.get('company') + if company and not hasattr(company, 'party'): + company = Pool().get('company.company')(company) + if is_itsa_company(company): currency = default_itsa_currency() if currency: return currency default = getattr(super(), 'default_currency', None) if default: - return default() + return default(**pattern) @classmethod def default_wb(cls): diff --git a/modules/purchase_trade/sale.py b/modules/purchase_trade/sale.py index 06ef5e7..9ab4cd8 100755 --- a/modules/purchase_trade/sale.py +++ b/modules/purchase_trade/sale.py @@ -408,14 +408,17 @@ class Sale(metaclass=PoolMeta): self.our_bank_account = self._get_default_our_bank_account() @classmethod - def default_currency(cls): - if is_itsa_company(): + def default_currency(cls, **pattern): + company = pattern.get('company') + if company and not hasattr(company, 'party'): + company = Pool().get('company.company')(company) + if is_itsa_company(company): currency = default_itsa_currency() if currency: return currency default = getattr(super(), 'default_currency', None) if default: - return default() + return default(**pattern) @classmethod def default_wb(cls):