Odoo18-Base/addons/account_edi/wizard/account_resequence.py

24 lines
806 B
Python
Raw Permalink Normal View History

2025-03-10 11:12:23 +07:00
from odoo import _, models
from odoo.exceptions import UserError
class ReSequenceWizard(models.TransientModel):
_inherit = 'account.resequence.wizard'
def _frozen_edi_documents(self):
"""Get EDI documents that can't change.
Their moves are restricted and cannot be resequenced.
"""
return self.move_ids.edi_document_ids.filtered(
lambda d: d.edi_format_id._needs_web_services() and d.state == "sent"
)
def resequence(self):
edi_sent_moves = self._frozen_edi_documents()
if edi_sent_moves:
raise UserError(_("The following documents have already been sent and cannot be resequenced: %s")
% ", ".join(set(edi_sent_moves.move_id.mapped('name')))
)
return super().resequence()