Trade Finance - Adjustment on sub-limit

This commit is contained in:
AzureAD\SylvainDUVERNAY
2026-03-31 14:10:43 +02:00
parent 143f59c62e
commit f27dd5620e
2 changed files with 34 additions and 19 deletions

View File

@@ -194,7 +194,9 @@ class FacilityLimit(ModelSQL, ModelView):
_rec_name = 'name'
facility = fields.Many2One('trade_finance.facility', 'Facility',
required=True, ondelete='CASCADE')
required=True, ondelete='CASCADE',
states={'readonly': Bool(Eval('parent'))},
depends=['parent'])
parent = fields.Many2One('trade_finance.facility_limit', 'Parent Limit',
ondelete='RESTRICT',
domain=[('facility', '=', Eval('facility'))],
@@ -212,7 +214,9 @@ class FacilityLimit(ModelSQL, ModelView):
sequence = fields.Integer('Sequence')
is_global = fields.Function(fields.Boolean('Global Limit'),
'get_is_global')
'get_is_global',
states={'invisible': Bool(Eval('parent'))},
depends=['parent'])
haircuts = fields.One2Many('trade_finance.facility_limit_haircut', 'limit',
'Haircuts')
@@ -232,6 +236,15 @@ class FacilityLimit(ModelSQL, ModelView):
def default_sequence():
return 10
@classmethod
def create(cls, vlist):
vlist = [v.copy() for v in vlist]
for values in vlist:
if values.get('parent') and not values.get('facility'):
parent = cls(values['parent'])
values['facility'] = parent.facility.id
return super().create(vlist)
def get_is_global(self, name):
return self.parent is None