[MIG] auditlog: Migration to 13.0
parent
83b470a79b
commit
1b1f827c1b
|
@ -14,13 +14,13 @@ Audit Log
|
|||
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
|
||||
:alt: License: AGPL-3
|
||||
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github
|
||||
:target: https://github.com/OCA/server-tools/tree/12.0/auditlog
|
||||
:target: https://github.com/OCA/server-tools/tree/13.0/auditlog
|
||||
:alt: OCA/server-tools
|
||||
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
|
||||
:target: https://translation.odoo-community.org/projects/server-tools-12-0/server-tools-12-0-auditlog
|
||||
:target: https://translation.odoo-community.org/projects/server-tools-13-0/server-tools-13-0-auditlog
|
||||
:alt: Translate me on Weblate
|
||||
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
|
||||
:target: https://runbot.odoo-community.org/runbot/149/12.0
|
||||
:target: https://runbot.odoo-community.org/runbot/149/13.0
|
||||
:alt: Try me on Runbot
|
||||
|
||||
|badge1| |badge2| |badge3| |badge4| |badge5|
|
||||
|
@ -70,7 +70,7 @@ Bug Tracker
|
|||
Bugs are tracked on `GitHub Issues <https://github.com/OCA/server-tools/issues>`_.
|
||||
In case of trouble, please check there if your issue has already been reported.
|
||||
If you spotted it first, help us smashing it by providing a detailed and welcomed
|
||||
`feedback <https://github.com/OCA/server-tools/issues/new?body=module:%20auditlog%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
||||
`feedback <https://github.com/OCA/server-tools/issues/new?body=module:%20auditlog%0Aversion:%2013.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
||||
|
||||
Do not contact contributors directly about support or help with technical issues.
|
||||
|
||||
|
@ -88,6 +88,7 @@ Contributors
|
|||
* Sebastien Alix <sebastien.alix@camptocamp.com>
|
||||
* Holger Brunn <hbrunn@therp.nl>
|
||||
* Holden Rehg <holdenrehg@gmail.com>
|
||||
* Eric Lembregts <eric@lembregts.eu>
|
||||
|
||||
Other credits
|
||||
~~~~~~~~~~~~~
|
||||
|
@ -107,6 +108,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
|
|||
mission is to support the collaborative development of Odoo features and
|
||||
promote its widespread use.
|
||||
|
||||
This module is part of the `OCA/server-tools <https://github.com/OCA/server-tools/tree/12.0/auditlog>`_ project on GitHub.
|
||||
This module is part of the `OCA/server-tools <https://github.com/OCA/server-tools/tree/13.0/auditlog>`_ project on GitHub.
|
||||
|
||||
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
{
|
||||
'name': "Audit Log",
|
||||
'version': "12.0.1.0.0",
|
||||
'version': "13.0.1.0.0",
|
||||
'author': "ABF OSIELL,Odoo Community Association (OCA)",
|
||||
'license': "AGPL-3",
|
||||
'website': "https://github.com/OCA/server-tools/",
|
||||
|
|
|
@ -34,7 +34,6 @@ class AuditlogHTTPRequest(models.Model):
|
|||
httprequest.name or '?',
|
||||
fields.Datetime.to_string(tz_create_date))
|
||||
|
||||
@api.multi
|
||||
def name_get(self):
|
||||
return [(request.id, request.display_name) for request in self]
|
||||
|
||||
|
|
|
@ -28,7 +28,6 @@ class AuditlogtHTTPSession(models.Model):
|
|||
httpsession.user_id and httpsession.user_id.name or '?',
|
||||
fields.Datetime.to_string(tz_create_date))
|
||||
|
||||
@api.multi
|
||||
def name_get(self):
|
||||
return [(session.id, session.display_name) for session in self]
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@ class AuditlogLog(models.Model):
|
|||
res_id = fields.Integer("Resource ID")
|
||||
user_id = fields.Many2one(
|
||||
'res.users', string="User")
|
||||
method = fields.Char("Method", size=64)
|
||||
method = fields.Char(size=64)
|
||||
line_ids = fields.One2many(
|
||||
'auditlog.log.line', 'log_id', string="Fields updated")
|
||||
http_session_id = fields.Many2one(
|
||||
|
@ -36,8 +36,8 @@ class AuditlogLogLine(models.Model):
|
|||
'ir.model.fields', ondelete='cascade', string="Field", required=True)
|
||||
log_id = fields.Many2one(
|
||||
'auditlog.log', string="Log", ondelete='cascade', index=True)
|
||||
old_value = fields.Text("Old Value")
|
||||
new_value = fields.Text("New Value")
|
||||
old_value = fields.Text()
|
||||
new_value = fields.Text()
|
||||
old_value_text = fields.Text("Old value Text")
|
||||
new_value_text = fields.Text("New value Text")
|
||||
field_name = fields.Char("Technical name", related='field_id.name')
|
||||
|
|
|
@ -45,8 +45,7 @@ class AuditlogRule(models.Model):
|
|||
_description = "Auditlog - Rule"
|
||||
|
||||
name = fields.Char(
|
||||
"Name", required=True,
|
||||
states={'subscribed': [('readonly', True)]})
|
||||
required=True, states={'subscribed': [('readonly', True)]})
|
||||
model_id = fields.Many2one(
|
||||
'ir.model', "Model", required=True,
|
||||
help="Select model for which you want to generate log.",
|
||||
|
@ -99,7 +98,7 @@ class AuditlogRule(models.Model):
|
|||
# "record of the model of this rule"))
|
||||
state = fields.Selection(
|
||||
[('draft', "Draft"), ('subscribed', "Subscribed")],
|
||||
string="State", required=True, default='draft')
|
||||
required=True, default='draft')
|
||||
action_id = fields.Many2one(
|
||||
'ir.actions.act_window', string="Action",
|
||||
states={'subscribed': [('readonly', True)]})
|
||||
|
@ -121,7 +120,6 @@ class AuditlogRule(models.Model):
|
|||
self = self.search([('state', '=', 'subscribed')])
|
||||
return self._patch_methods()
|
||||
|
||||
@api.multi
|
||||
def _patch_methods(self):
|
||||
"""Patch ORM methods of models defined in rules to log their calls."""
|
||||
updated = False
|
||||
|
@ -165,7 +163,6 @@ class AuditlogRule(models.Model):
|
|||
updated = True
|
||||
return updated
|
||||
|
||||
@api.multi
|
||||
def _revert_methods(self):
|
||||
"""Restore original ORM methods of models defined in rules."""
|
||||
updated = False
|
||||
|
@ -188,7 +185,6 @@ class AuditlogRule(models.Model):
|
|||
modules.registry.Registry(self.env.cr.dbname).signal_changes()
|
||||
return new_record
|
||||
|
||||
@api.multi
|
||||
def write(self, vals):
|
||||
"""Update the registry when existing rules are updated."""
|
||||
super(AuditlogRule, self).write(vals)
|
||||
|
@ -196,13 +192,11 @@ class AuditlogRule(models.Model):
|
|||
modules.registry.Registry(self.env.cr.dbname).signal_changes()
|
||||
return True
|
||||
|
||||
@api.multi
|
||||
def unlink(self):
|
||||
"""Unsubscribe rules before removing them."""
|
||||
self.unsubscribe()
|
||||
return super(AuditlogRule, self).unlink()
|
||||
|
||||
@api.multi
|
||||
def _make_create(self):
|
||||
"""Instanciate a create method that log its calls."""
|
||||
self.ensure_one()
|
||||
|
@ -237,7 +231,6 @@ class AuditlogRule(models.Model):
|
|||
|
||||
return create_full if self.log_type == 'full' else create_fast
|
||||
|
||||
@api.multi
|
||||
def _make_read(self):
|
||||
"""Instanciate a read method that log its calls."""
|
||||
self.ensure_one()
|
||||
|
@ -267,13 +260,11 @@ class AuditlogRule(models.Model):
|
|||
return result
|
||||
return read
|
||||
|
||||
@api.multi
|
||||
def _make_write(self):
|
||||
"""Instanciate a write method that log its calls."""
|
||||
self.ensure_one()
|
||||
log_type = self.log_type
|
||||
|
||||
@api.multi
|
||||
def write_full(self, vals, **kwargs):
|
||||
self = self.with_context(auditlog_disabled=True)
|
||||
rule_model = self.env['auditlog.rule']
|
||||
|
@ -289,7 +280,6 @@ class AuditlogRule(models.Model):
|
|||
'write', old_values, new_values, {'log_type': log_type})
|
||||
return result
|
||||
|
||||
@api.multi
|
||||
def write_fast(self, vals, **kwargs):
|
||||
self = self.with_context(auditlog_disabled=True)
|
||||
rule_model = self.env['auditlog.rule']
|
||||
|
@ -308,13 +298,11 @@ class AuditlogRule(models.Model):
|
|||
|
||||
return write_full if self.log_type == 'full' else write_fast
|
||||
|
||||
@api.multi
|
||||
def _make_unlink(self):
|
||||
"""Instanciate an unlink method that log its calls."""
|
||||
self.ensure_one()
|
||||
log_type = self.log_type
|
||||
|
||||
@api.multi
|
||||
def unlink_full(self, **kwargs):
|
||||
self = self.with_context(auditlog_disabled=True)
|
||||
rule_model = self.env['auditlog.rule']
|
||||
|
@ -326,7 +314,6 @@ class AuditlogRule(models.Model):
|
|||
{'log_type': log_type})
|
||||
return unlink_full.origin(self, **kwargs)
|
||||
|
||||
@api.multi
|
||||
def unlink_fast(self, **kwargs):
|
||||
self = self.with_context(auditlog_disabled=True)
|
||||
rule_model = self.env['auditlog.rule']
|
||||
|
@ -368,14 +355,14 @@ class AuditlogRule(models.Model):
|
|||
diff = DictDiffer(
|
||||
new_values.get(res_id, EMPTY_DICT),
|
||||
old_values.get(res_id, EMPTY_DICT))
|
||||
if method is 'create':
|
||||
if method == 'create':
|
||||
self._create_log_line_on_create(log, diff.added(), new_values)
|
||||
elif method is 'read':
|
||||
elif method == 'read':
|
||||
self._create_log_line_on_read(
|
||||
log,
|
||||
list(old_values.get(res_id, EMPTY_DICT).keys()), old_values
|
||||
)
|
||||
elif method is 'write':
|
||||
elif method == 'write':
|
||||
self._create_log_line_on_write(
|
||||
log, diff.changed(), old_values, new_values)
|
||||
|
||||
|
@ -513,7 +500,6 @@ class AuditlogRule(models.Model):
|
|||
vals['new_value_text'] = new_value_text
|
||||
return vals
|
||||
|
||||
@api.multi
|
||||
def subscribe(self):
|
||||
"""Subscribe Rule for auditing changes on model and apply shortcut
|
||||
to view logs on that model.
|
||||
|
@ -526,7 +512,6 @@ class AuditlogRule(models.Model):
|
|||
vals = {
|
||||
'name': _("View logs"),
|
||||
'res_model': 'auditlog.log',
|
||||
'src_model': rule.model_id.model,
|
||||
'binding_model_id': rule.model_id.id,
|
||||
'domain': domain,
|
||||
}
|
||||
|
@ -534,7 +519,6 @@ class AuditlogRule(models.Model):
|
|||
rule.write({'state': 'subscribed', 'action_id': act_window.id})
|
||||
return True
|
||||
|
||||
@api.multi
|
||||
def unsubscribe(self):
|
||||
"""Unsubscribe Auditing Rule on model."""
|
||||
# Revert patched methods
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
* Sebastien Alix <sebastien.alix@camptocamp.com>
|
||||
* Holger Brunn <hbrunn@therp.nl>
|
||||
* Holden Rehg <holdenrehg@gmail.com>
|
||||
* Eric Lembregts <eric@lembregts.eu>
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
<meta name="generator" content="Docutils 0.15.1: http://docutils.sourceforge.net/" />
|
||||
<meta name="generator" content="Docutils 0.15.2: http://docutils.sourceforge.net/" />
|
||||
<title>Audit Log</title>
|
||||
<style type="text/css">
|
||||
|
||||
|
@ -367,7 +367,7 @@ ul.auto-toc {
|
|||
!! This file is generated by oca-gen-addon-readme !!
|
||||
!! changes will be overwritten. !!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/server-tools/tree/12.0/auditlog"><img alt="OCA/server-tools" src="https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/server-tools-12-0/server-tools-12-0-auditlog"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/149/12.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
|
||||
<p><a class="reference external" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external" href="https://github.com/OCA/server-tools/tree/13.0/auditlog"><img alt="OCA/server-tools" src="https://img.shields.io/badge/github-OCA%2Fserver--tools-lightgray.png?logo=github" /></a> <a class="reference external" href="https://translation.odoo-community.org/projects/server-tools-13-0/server-tools-13-0-auditlog"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external" href="https://runbot.odoo-community.org/runbot/149/13.0"><img alt="Try me on Runbot" src="https://img.shields.io/badge/runbot-Try%20me-875A7B.png" /></a></p>
|
||||
<p>This module allows the administrator to log user operations performed on data
|
||||
models such as <tt class="docutils literal">create</tt>, <tt class="docutils literal">read</tt>, <tt class="docutils literal">write</tt> and <tt class="docutils literal">delete</tt>.</p>
|
||||
<p><strong>Table of contents</strong></p>
|
||||
|
@ -416,7 +416,7 @@ To activate it and/or change the delay, go to the
|
|||
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/server-tools/issues">GitHub Issues</a>.
|
||||
In case of trouble, please check there if your issue has already been reported.
|
||||
If you spotted it first, help us smashing it by providing a detailed and welcomed
|
||||
<a class="reference external" href="https://github.com/OCA/server-tools/issues/new?body=module:%20auditlog%0Aversion:%2012.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
|
||||
<a class="reference external" href="https://github.com/OCA/server-tools/issues/new?body=module:%20auditlog%0Aversion:%2013.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
|
||||
<p>Do not contact contributors directly about support or help with technical issues.</p>
|
||||
</div>
|
||||
<div class="section" id="credits">
|
||||
|
@ -433,6 +433,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
|
|||
<li>Sebastien Alix <<a class="reference external" href="mailto:sebastien.alix@camptocamp.com">sebastien.alix@camptocamp.com</a>></li>
|
||||
<li>Holger Brunn <<a class="reference external" href="mailto:hbrunn@therp.nl">hbrunn@therp.nl</a>></li>
|
||||
<li>Holden Rehg <<a class="reference external" href="mailto:holdenrehg@gmail.com">holdenrehg@gmail.com</a>></li>
|
||||
<li>Eric Lembregts <<a class="reference external" href="mailto:eric@lembregts.eu">eric@lembregts.eu</a>></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="section" id="other-credits">
|
||||
|
@ -448,7 +449,7 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
|
|||
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
|
||||
mission is to support the collaborative development of Odoo features and
|
||||
promote its widespread use.</p>
|
||||
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/server-tools/tree/12.0/auditlog">OCA/server-tools</a> project on GitHub.</p>
|
||||
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/server-tools/tree/13.0/auditlog">OCA/server-tools</a> project on GitHub.</p>
|
||||
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
<field name="name">auditlog.rule.tree</field>
|
||||
<field name="model">auditlog.rule</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree colors="blue:state == 'draft';black:state == 'subscribed'" string="Rules">
|
||||
<tree decoration-info="state == 'draft'" decoration-bf="state == 'subscribed'">
|
||||
<field name="name"/>
|
||||
<field name="model_id"/>
|
||||
<field name="log_type"/>
|
||||
|
@ -79,7 +79,6 @@
|
|||
<field name="name">Rules</field>
|
||||
<field name="res_model">auditlog.rule</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="context">{}</field>
|
||||
<field name="search_view_id" ref="view_auditlog_rule_search"/>
|
||||
|
@ -145,7 +144,7 @@
|
|||
<field name="name">auditlog.log.tree</field>
|
||||
<field name="model">auditlog.log</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Logs" create="false">
|
||||
<tree create="false">
|
||||
<field name="create_date"/>
|
||||
<field name="name"/>
|
||||
<field name="model_id"/>
|
||||
|
@ -192,7 +191,6 @@
|
|||
<record model="ir.actions.act_window" id="action_auditlog_log_tree">
|
||||
<field name="name">Logs</field>
|
||||
<field name="res_model">auditlog.log</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="search_view_id" ref="view_auditlog_log_search"/>
|
||||
</record>
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
<field name="name">auditlog.http.request.tree</field>
|
||||
<field name="model">auditlog.http.request</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="HTTP Requests">
|
||||
<tree>
|
||||
<field name="name"/>
|
||||
<field name="create_date"/>
|
||||
<field name="http_session_id"/>
|
||||
|
@ -68,7 +68,6 @@
|
|||
<field name="name">HTTP Requests</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">auditlog.http.request</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="view_auditlog_http_request_tree"/>
|
||||
</record>
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
<field name="name">auditlog.http.session.tree</field>
|
||||
<field name="model">auditlog.http.session</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="User sessions">
|
||||
<tree>
|
||||
<field name="user_id"/>
|
||||
<field name="create_date"/>
|
||||
<field name="name"/>
|
||||
|
@ -55,7 +55,6 @@
|
|||
<field name="name">User sessions</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">auditlog.http.session</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="view_auditlog_http_session_tree"/>
|
||||
</record>
|
||||
|
||||
|
|
Loading…
Reference in New Issue