mirror of
https://github.com/bringout/oca-technical.git
synced 2026-04-18 04:52:04 +02:00
27 lines
989 B
Python
27 lines
989 B
Python
# Copyright 2023 Camptocamp SA
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
|
#
|
|
from odoo import _, models
|
|
from odoo.exceptions import AccessError
|
|
|
|
|
|
class Base(models.AbstractModel):
|
|
_inherit = "base"
|
|
|
|
def toggle_active(self):
|
|
# skip check if special bypass context key exist in env
|
|
if self.env.context.get("bypass_archive_security"):
|
|
return super().toggle_active()
|
|
# skip check on empty recordset
|
|
# and check if the user is in the group that can archive/unarchive the record
|
|
if self and not self.env.user.has_group(
|
|
"base_archive_security.group_can_archive"
|
|
):
|
|
group = self.env.ref("base_archive_security.group_can_archive")
|
|
raise AccessError(
|
|
_(
|
|
'Only users belonging to the "%s" group can archive or unarchive records.',
|
|
group.name,
|
|
)
|
|
)
|
|
return super().toggle_active()
|