[ADD] module account_advanced_protection_features from version 16.0

This commit is contained in:
2025-10-07 16:47:34 +02:00
parent 9cd897fb0c
commit 5195e93038
12 changed files with 960 additions and 0 deletions

View File

@@ -0,0 +1,23 @@
from odoo import models, api, fields, _
from odoo.exceptions import UserError
class AccountMove(models.Model):
_inherit = 'account.move'
def button_draft(self):
if self.is_move_sent and self.journal_id.prevent_reset_to_draft_sent_invoice:
raise UserError(_(
"You cannot reset to draft this invoice because it has been sent by email."
))
return super(AccountMove, self).button_draft()
@api.ondelete(at_uninstall=False)
def _check_posted(self):
""" Prevent deletion of an account move if it has already been posted and
journal parameter prevent_deletion_of_posted_account_move is activated
"""
for rec in self:
if rec.posted_before and rec.journal_id.prevent_deletion_of_posted_account_move:
raise UserError(_(
"You cannot delete this account move because it has already been posted."
))