Files
account-financial-tools/account_lock_to_date/models/account_move.py
2024-09-30 09:25:54 +02:00

38 lines
1.4 KiB
Python

# Copyright 2019 ForgeFlow S.L.
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import _, api, models
from odoo.exceptions import UserError
class AccountMove(models.Model):
_inherit = "account.move"
@api.multi
def _check_lock_date(self):
res = super()._check_lock_date()
for move in self:
lock_to_date = (
min(
move.company_id.period_lock_to_date,
move.company_id.fiscalyear_lock_to_date,
)
or False
)
if self.user_has_groups("account.group_account_manager"):
lock_to_date = move.company_id.fiscalyear_lock_to_date or False
if lock_to_date and move.date >= lock_to_date:
if self.user_has_groups("account.group_account_manager"):
message = _(
"You cannot add/modify entries after and "
"inclusive of the lock to date %s"
) % (lock_to_date)
else:
message = _(
"You cannot add/modify entries after and "
"inclusive of the lock to date %s. "
"Check the company settings or ask someone "
"with the 'Adviser' role"
) % (lock_to_date)
raise UserError(message)
return res