server-tools/auditlog/models/auditlog_log_line_view.py

65 lines
1.8 KiB
Python

from odoo import fields, models
class AuditlogLogLineView(models.Model):
_name = "auditlog.log.line.view"
_inherit = "auditlog.log.line"
_description = "Auditlog - Log details (fields updated)"
_auto = False
_log_access = True
name = fields.Char()
model_id = fields.Many2one("ir.model")
model_name = fields.Char()
model_model = fields.Char()
res_id = fields.Integer()
user_id = fields.Many2one("res.users")
method = fields.Char()
http_session_id = fields.Many2one(
"auditlog.http.session", string="Session", index=True
)
http_request_id = fields.Many2one(
"auditlog.http.request", string="HTTP Request", index=True
)
log_type = fields.Selection(
selection=lambda r: r.env["auditlog.rule"]._fields["log_type"].selection,
string="Type",
)
def _select_query(self):
return """
alogl.id,
alogl.create_date,
alogl.create_uid,
alogl.write_uid,
alogl.write_date,
alogl.field_id,
alogl.log_id,
alogl.old_value,
alogl.new_value,
alogl.old_value_text,
alogl.new_value_text,
alogl.field_name,
alogl.field_description,
alog.name,
alog.model_id,
alog.model_name,
alog.model_model,
alog.res_id,
alog.user_id,
alog.method,
alog.http_session_id,
alog.http_request_id,
alog.log_type
"""
def _from_query(self):
return """
auditlog_log_line alogl
JOIN auditlog_log alog ON alog.id = alogl.log_id
"""
@property
def _table_query(self):
return "SELECT %s FROM %s" % (self._select_query(), self._from_query())