Fix facility limit hierarchy display

This commit is contained in:
AzureAD\SylvainDUVERNAY
2026-05-25 11:58:11 +02:00
parent 0155e99815
commit 8542bfeabb
2 changed files with 30 additions and 1 deletions

View File

@@ -101,7 +101,8 @@ class Facility(ModelSQL, ModelView):
depends=['is_tpa'])
limits = fields.One2Many('trade_finance.facility_limit', 'facility',
'Limits', domain=[('parent', '=', None)])
'Limits', domain=[('parent', '=', None)],
filter=[('parent', '=', None)])
currencies = fields.One2Many('trade_finance.facility_currency', 'facility',
'Accepted Currencies')
caps = fields.One2Many('trade_finance.facility_cap', 'facility', 'Caps')

View File

@@ -61,6 +61,34 @@ class TradeFinanceTestCase(ModuleTestCase):
self.assertEqual(child.date_from, root.date_from)
self.assertEqual(child.date_to, root.date_to)
@with_transaction()
def test_facility_limits_only_returns_root_limits(self):
'Test facility limits exclude nested sublimits'
pool = Pool()
Facility = pool.get('trade_finance.facility')
Limit = pool.get('trade_finance.facility_limit')
facility, currency = self.create_facility()
root, = Limit.create([{
'facility': facility.id,
'name': 'Global limit',
'currency': currency.id,
'amount': Decimal('100.00'),
'date_from': date(2026, 1, 1),
'date_to': date(2026, 12, 31),
}])
child, = Limit.create([{
'parent': root.id,
'name': 'Trading limit',
'amount': Decimal('50.00'),
}])
facility = Facility(facility.id)
root = Limit(root.id)
self.assertEqual(list(facility.limits), [root])
self.assertEqual(list(root.children), [child])
@with_transaction()
def test_sublimit_dates_must_stay_within_parent(self):
'Test sublimit dates stay within parent dates'