Make statement lines readonly when origins are filled

Closes #14965
This commit is contained in:
Cédric Krier
2026-07-22 12:28:03 +02:00
parent 55b26ce2bd
commit 54183ea818
+9 -2
View File
@@ -104,7 +104,10 @@ class Statement(Workflow, ModelSQL, ModelView, ChatMixin):
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={
@@ -253,11 +256,15 @@ class Statement(Workflow, ModelSQL, ModelView, ChatMixin):
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: