[IMP] account_advanced_protection_features: add option allow_bank_statement_line_creation

This commit is contained in:
2026-01-20 19:03:24 +01:00
parent a948a466cc
commit 83a796a36d
8 changed files with 136 additions and 9 deletions

View File

@@ -1,4 +1,4 @@
from odoo import models, _
from odoo import api, models, _
from odoo.exceptions import UserError
class AccountBankStatement(models.Model):
@@ -19,6 +19,32 @@ class AccountBankStatement(models.Model):
class AccountBankStatementLine(models.Model):
_inherit = "account.bank.statement.line"
@api.model
def default_get(self, fields_list):
res = super().default_get(fields_list)
journal_id = self._context.get('default_journal_id') or res.get('journal_id')
if journal_id:
journal = self.env["account.journal"].browse(journal_id)
if not journal.allow_bank_statement_line_creation:
raise UserError(
_("Manual creation of bank statement lines is not allowed for the journal %s.")
% journal.display_name
)
return res
@api.model_create_multi
def create(self, vals_list):
for vals in vals_list:
journal_id = vals.get("journal_id")
if journal_id:
journal = self.env["account.journal"].browse(journal_id)
if not journal.allow_bank_statement_line_creation:
raise UserError(
_("Manual creation of bank statement lines is not allowed for the journal %s.")
% journal.display_name
)
return super().create(vals_list)
def unlink(self):
for line in self:
if not line.journal_id.allow_bank_statement_deletion:

View File

@@ -10,3 +10,7 @@ class AccountJournal(models.Model):
help="Users with group Show Full Accounting Features (id: group_account_user) will be allowed to delete account bank statements "
"and bank statement lines."
)
allow_bank_statement_line_creation = fields.Boolean(
"Allow manual bank statement lines creation",
help="If unchecked, users will not be allowed to manually create bank statement lines for this journal."
)