Make statement lines readonly when origins are filled

Closes #14965
(grafted from ad46e99cf76bee15373625a6ea0ec4e57a58ff06)

--HG--
branch : 8.0
This commit is contained in:
Cédric Krier
2026-07-22 12:28:03 +02:00
parent 3557e7845a
commit e50e358b93
+9 -2
View File
@@ -103,7 +103,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={
@@ -252,11 +255,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: