From 2ab065271d8dd97a858c452723a165c07ebc2eca Mon Sep 17 00:00:00 2001 From: Bhavesh Odedra Date: Tue, 22 Jun 2021 13:57:52 -0700 Subject: [PATCH] [ADD] auditlog: enable to track Unlink record --- auditlog/models/rule.py | 11 +++++++++++ auditlog/readme/CONTRIBUTORS.rst | 2 ++ auditlog/views/auditlog_view.xml | 4 ++++ 3 files changed, 17 insertions(+) diff --git a/auditlog/models/rule.py b/auditlog/models/rule.py index 207ebdb84..fa1cc9484 100644 --- a/auditlog/models/rule.py +++ b/auditlog/models/rule.py @@ -138,6 +138,9 @@ class AuditlogRule(models.Model): string="Action", states={"subscribed": [("readonly", True)]}, ) + capture_record = fields.Boolean( + "Capture Record", help="Select this if you want to keep track of Unlink Record", + ) _sql_constraints = [ ( @@ -474,6 +477,10 @@ class AuditlogRule(models.Model): for res_id in res_ids: model_model = self.env[res_model] name = model_model.browse(res_id).name_get() + model_id = self.pool._auditlog_model_cache[res_model] + auditlog_rule = self.env["auditlog.rule"].search( + [("model_id", "=", model_id)] + ) res_name = name and name[0] and name[0][1] vals = { "name": res_name, @@ -499,6 +506,10 @@ class AuditlogRule(models.Model): self._create_log_line_on_write( log, diff.changed(), old_values, new_values ) + elif method == "unlink" and auditlog_rule.capture_record: + self._create_log_line_on_read( + log, list(old_values.get(res_id, EMPTY_DICT).keys()), old_values + ) def _get_field(self, model, field_name): cache = self.pool._auditlog_field_cache diff --git a/auditlog/readme/CONTRIBUTORS.rst b/auditlog/readme/CONTRIBUTORS.rst index 5b88f88de..557339acc 100644 --- a/auditlog/readme/CONTRIBUTORS.rst +++ b/auditlog/readme/CONTRIBUTORS.rst @@ -5,3 +5,5 @@ * Pieter Paulussen * Alan Ramos * Stefan Rijnhart +* Bhavesh Odedra +* Hardik Suthar diff --git a/auditlog/views/auditlog_view.xml b/auditlog/views/auditlog_view.xml index 3777e13cf..7ae15e775 100644 --- a/auditlog/views/auditlog_view.xml +++ b/auditlog/views/auditlog_view.xml @@ -40,6 +40,10 @@ readonly="1" groups="base.group_no_one" /> +