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

View File

@@ -1,41 +1,43 @@
<form col="6">
<group id="header" col="6" colspan="6">
<form col="4">
<group id="header" col="4" colspan="4">
<label name="name"/>
<field name="name" colspan="2"/>
<label name="is_global"/>
<field name="is_global" colspan="2"/>
<field name="name" colspan="3"/>
<label name="financing_type"/>
<field name="financing_type" colspan="2"/>
<field name="financing_type" colspan="3"/>
<label name="amount"/>
<field name="amount"/>
<label name="tenor"/>
<field name="tenor"/>
<label name="parent"/>
<field name="parent" colspan="2"/>
<label name="sequence"/>
<field name="sequence" colspan="2"/>
<field name="sequence"/>
<label name="is_global"/>
<field name="is_global"/>
<label name="parent"/>
<field name="parent" colspan="3"/>
<label name="facility"/>
<field name="facility" colspan="3"/>
</group>
<notebook colspan="6">
<notebook colspan="4">
<page string="Sub-Limits" id="children">
<field name="children" colspan="6"/>
<field name="children" colspan="4"/>
</page>
<page string="Haircuts" id="haircuts">
<field name="haircuts" colspan="6"/>
<field name="haircuts" colspan="4"/>
</page>
<page string="Currencies" id="currencies">
<field name="currencies" colspan="6"/>
<field name="currencies" colspan="4"/>
</page>
<page string="Costs" id="costs">
<field name="costs" colspan="6"/>
<field name="costs" colspan="4"/>
</page>
<page string="Operational Statuses" id="op_statuses">
<field name="op_statuses" colspan="6"/>
<field name="op_statuses" colspan="4"/>
</page>
<page string="Bank Accounts" id="bank_accounts">
<field name="bank_accounts" colspan="6"/>
<field name="bank_accounts" colspan="4"/>
</page>
<page string="Constraints" id="limit_constraints">
<field name="constraints" colspan="6"/>
<field name="constraints" colspan="4"/>
</page>
</notebook>
</form>