From b1dd11862863986a22ce787b5e14202fe4033087 Mon Sep 17 00:00:00 2001 From: "AzureAD\\SylvainDUVERNAY" Date: Tue, 31 Mar 2026 21:39:56 +0200 Subject: [PATCH] Trade Finance - Facility - Improve Limits table layout --- modules/trade_finance/facility.py | 15 +++++++++++++++ .../trade_finance/view/facility_limit_tree.xml | 4 +++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/modules/trade_finance/facility.py b/modules/trade_finance/facility.py index cbbe465..0db653d 100644 --- a/modules/trade_finance/facility.py +++ b/modules/trade_finance/facility.py @@ -216,6 +216,8 @@ class FacilityLimit(ModelSQL, ModelView): states={'invisible': Bool(Eval('parent'))}, depends=['parent']), 'get_is_global') + level = fields.Function(fields.Integer('Level'), 'get_level') + display_name = fields.Function(fields.Char('Name'), 'get_display_name') haircuts = fields.One2Many('trade_finance.facility_limit_haircut', 'limit', 'Haircuts') @@ -247,6 +249,19 @@ class FacilityLimit(ModelSQL, ModelView): def get_is_global(self, name): return self.parent is None + def get_level(self, name): + level = 0 + current = self + while current.parent: + level += 1 + current = current.parent + return level + + def get_display_name(self, name): + level = self.get_level(None) + prefix = '— ' * level + return prefix + (self.name or '') + @classmethod def validate(cls, limits): super().validate(limits) diff --git a/modules/trade_finance/view/facility_limit_tree.xml b/modules/trade_finance/view/facility_limit_tree.xml index 52e87c3..5c85e14 100644 --- a/modules/trade_finance/view/facility_limit_tree.xml +++ b/modules/trade_finance/view/facility_limit_tree.xml @@ -1,7 +1,9 @@ - + + +