24 lines
806 B
Python
24 lines
806 B
Python
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()
|