mirror of
https://github.com/bringout/oca-server-auth.git
synced 2026-04-19 08:12:00 +02:00
46 lines
1.2 KiB
Python
46 lines
1.2 KiB
Python
# © 2021 Florian Kantelberg - initOS GmbH
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
|
|
|
import logging
|
|
|
|
from odoo import _, api, fields, models
|
|
|
|
_logger = logging.getLogger(__name__)
|
|
|
|
|
|
class VaultLog(models.Model):
|
|
_name = "vault.log"
|
|
_description = _("Log entry of a vault")
|
|
_order = "create_date DESC"
|
|
_rec_name = "message"
|
|
|
|
vault_id = fields.Many2one(
|
|
"vault",
|
|
"Vault",
|
|
ondelete="cascade",
|
|
required=True,
|
|
readonly=True,
|
|
)
|
|
entry_id = fields.Many2one(
|
|
"vault.entry",
|
|
"Entry",
|
|
ondelete="cascade",
|
|
readonly=True,
|
|
)
|
|
user_id = fields.Many2one("res.users", "User", required=True, readonly=True)
|
|
state = fields.Selection(lambda self: self._get_log_state(), readonly=True)
|
|
message = fields.Char(readonly=True, required=True)
|
|
|
|
def _get_log_state(self):
|
|
return [
|
|
("info", _("Information")),
|
|
("warn", _("Warning")),
|
|
("error", _("Error")),
|
|
]
|
|
|
|
@api.model_create_multi
|
|
def create(self, vals_list):
|
|
res = super().create(vals_list)
|
|
if not self.env.context.get("skip_log", False):
|
|
_logger.info("Vault log: %s", res.message)
|
|
return res
|