refactor: replace manual state recomputation with invalidate_recordset for expense sheets in payment actions

This commit is contained in:
Suherdy Yacob 2026-04-06 11:32:12 +07:00
parent f0140a7f97
commit db722f001c

View File

@ -54,17 +54,17 @@ class AccountPayment(models.Model):
res = super().action_cancel()
for payment in self:
if payment.expense_sheet_id:
payment.expense_sheet_id._compute_state()
payment.expense_sheet_id.invalidate_recordset(['state'])
# Also check if it's linked via realization
if payment.realization_id and payment.realization_id.expense_sheet_id:
payment.realization_id.expense_sheet_id._compute_state()
payment.realization_id.expense_sheet_id.invalidate_recordset(['state'])
return res
def action_draft(self):
res = super().action_draft()
for payment in self:
if payment.expense_sheet_id:
payment.expense_sheet_id._compute_state()
payment.expense_sheet_id.invalidate_recordset(['state'])
if payment.realization_id and payment.realization_id.expense_sheet_id:
payment.realization_id.expense_sheet_id._compute_state()
payment.realization_id.expense_sheet_id.invalidate_recordset(['state'])
return res