65 lines
1.8 KiB
Python
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())
|