From 7861dae4f95eaca5191a990e56a279b8ab79b5f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alieh=20Ryma=C5=A1e=C5=ADski?= Date: Wed, 29 Jun 2022 17:01:37 +0000 Subject: [PATCH] Show field values before deletion in the admin --- CHANGELOG.md | 4 ++++ auditlog/mixins.py | 2 -- auditlog_tests/tests.py | 16 ++++++++++++++-- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 50f2b4b..5ea608b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changes +#### Improvements + +- feat: Display the diff for deleted objects in the admin ([#396](https://github.com/jazzband/django-auditlog/pull/396)) + ## 2.1.0 (2022-06-27) #### Improvements diff --git a/auditlog/mixins.py b/auditlog/mixins.py index 1105751..6b04572 100644 --- a/auditlog/mixins.py +++ b/auditlog/mixins.py @@ -60,8 +60,6 @@ class LogEntryAdminMixin: msg_short.short_description = "Changes" def msg(self, obj): - if obj.action == LogEntry.Action.DELETE: - return "" # delete changes = json.loads(obj.changes) atom_changes = {} diff --git a/auditlog_tests/tests.py b/auditlog_tests/tests.py index 7f1c145..0e3e53d 100644 --- a/auditlog_tests/tests.py +++ b/auditlog_tests/tests.py @@ -1274,9 +1274,21 @@ class DiffMsgTest(TestCase): ) def test_changes_msg_delete(self): - log_entry = self._create_log_entry(LogEntry.Action.DELETE, {}) + log_entry = self._create_log_entry( + LogEntry.Action.DELETE, + {"field one": ["value before deletion", None], "field two": [11, None]}, + ) - self.assertEqual(self.admin.msg(log_entry), "") + self.assertEqual( + self.admin.msg(log_entry), + ( + "" + "" + "" + "" + "
#FieldFromTo
1field onevalue before deletionNone
2field two11None
" + ), + ) def test_changes_msg_create(self): log_entry = self._create_log_entry(