Make statement lines readonly when origins are filled

Closes #14965
(grafted from ad46e99cf76bee15373625a6ea0ec4e57a58ff06)

--HG--
branch : 7.0
This commit is contained in:
Cédric Krier
2026-07-22 12:28:03 +02:00
parent 2001d9b273
commit 880c08fc7f
+9 -2
View File
@@ -101,7 +101,10 @@ class Statement(Workflow, ModelSQL, ModelView):
states=_number_states)
lines = fields.One2Many('account.statement.line', 'statement',
'Lines', states={
'readonly': (Eval('state') != 'draft') | ~Eval('journal'),
'readonly': (
(Eval('state') != 'draft')
| ~Eval('journal')
| Eval('origins', [])),
})
origins = fields.One2Many('account.statement.origin', 'statement',
"Origins", states={
@@ -263,11 +266,15 @@ class Statement(Workflow, ModelSQL, ModelView):
origin.lines = lines
self.origins = origins
@fields.depends('lines')
@fields.depends('lines', 'origins')
def on_change_lines(self):
pool = Pool()
Line = pool.get('account.statement.line')
if self.origins:
# let origin manage the pending amounts
return
invoices = {l.invoice for l in self.lines if l.invoice}
invoice_id2amount_to_pay = {}
for invoice in invoices: