diff --git a/modules/purchase_trade/service.py b/modules/purchase_trade/service.py index f254c98..b723172 100644 --- a/modules/purchase_trade/service.py +++ b/modules/purchase_trade/service.py @@ -240,10 +240,10 @@ class ContractFactory: return line.del_period = c.del_period line.from_del = ( - c.from_del + getattr(c, 'from_del', None) or getattr(getattr(c, 'del_period', None), 'beg_date', None)) line.to_del = ( - c.to_del + getattr(c, 'to_del', None) or getattr(getattr(c, 'del_period', None), 'end_date', None)) @staticmethod diff --git a/modules/purchase_trade/tests/test_module.py b/modules/purchase_trade/tests/test_module.py index a5a0dee..5279059 100644 --- a/modules/purchase_trade/tests/test_module.py +++ b/modules/purchase_trade/tests/test_module.py @@ -2848,8 +2848,10 @@ class PurchaseTradeTestCase(ModuleTestCase): def test_contract_factory_delivery_dates_fallback_to_period(self): 'hidden delivery dates are still derived from delivery period' period = Mock(beg_date='2026-05-01', end_date='2026-05-31') - contract_detail = Mock( - del_period=period, from_del=None, to_del=None) + class ContractDetailMock: + del_period = period + + contract_detail = ContractDetailMock() line = Mock() ContractFactory._apply_delivery(line, contract_detail, {})