From b46e092dbb6a93eb145b54ed16c4d2f71ad1c4b1 Mon Sep 17 00:00:00 2001 From: Hasan Ramezani Date: Wed, 10 Apr 2024 23:40:28 +0200 Subject: [PATCH 1/2] Fixed manuall logging when model is not registered --- CHANGELOG.md | 1 + auditlog/models.py | 3 +++ auditlog_tests/tests.py | 15 +++++++++++++++ 3 files changed, 19 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d5f0a410..85a0b47f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ #### Fixes - Fixed logging problem related to django translation before logging ([#624](https://github.com/jazzband/django-auditlog/pull/624)) +- Fixed manuall logging when model is not registered ([#627](https://github.com/jazzband/django-auditlog/pull/627)) ## 3.0.0-beta.4 (2024-01-02) diff --git a/auditlog/models.py b/auditlog/models.py index c28cb1bc..43d2baa9 100644 --- a/auditlog/models.py +++ b/auditlog/models.py @@ -224,6 +224,9 @@ def _get_pk_value(self, instance): def _get_serialized_data_or_none(self, instance): from auditlog.registry import auditlog + if not auditlog.contains(instance.__class__): + return None + opts = auditlog.get_serialize_options(instance.__class__) if not opts["serialize_data"]: return None diff --git a/auditlog_tests/tests.py b/auditlog_tests/tests.py index b04077e7..627324f4 100644 --- a/auditlog_tests/tests.py +++ b/auditlog_tests/tests.py @@ -1112,6 +1112,21 @@ def test_unregister_delete(self): # Check for log entries self.assertEqual(LogEntry.objects.count(), 0, msg="There are no log entries") + def test_manual_logging(self): + obj = self.obj + obj.boolean = True + obj.save() + LogEntry.objects.log_create( + instance=obj, + action=LogEntry.Action.UPDATE, + changes="", + ) + self.assertEqual( + obj.history.filter(action=LogEntry.Action.UPDATE).count(), + 1, + msg="There is one log entry for 'UPDATE'", + ) + class RegisterModelSettingsTest(TestCase): def setUp(self): From fb7f730e9ea4ac5d9324c721bdeb87a55d696f61 Mon Sep 17 00:00:00 2001 From: Hasan Ramezani Date: Wed, 10 Apr 2024 23:44:01 +0200 Subject: [PATCH 2/2] Move change log --- CHANGELOG.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 85a0b47f..7ad73a8f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,10 +6,13 @@ - Fixed logging problem related to django translation before logging ([#624](https://github.com/jazzband/django-auditlog/pull/624)) - Fixed manuall logging when model is not registered ([#627](https://github.com/jazzband/django-auditlog/pull/627)) +#### Improvements +- feat: Excluding ip address when `AUDITLOG_DISABLE_REMOTE_ADDR` is set to True ([#620](https://github.com/jazzband/django-auditlog/pull/620)) + ## 3.0.0-beta.4 (2024-01-02) #### Improvements -- feat: Excluding ip address when `AUDITLOG_DISABLE_REMOTE_ADDR` is set to True ([#620](https://github.com/jazzband/django-auditlog/pull/620)) + - feat: If any receiver returns False, no logging will be made. This can be useful if logging should be conditionally enabled / disabled ([#590](https://github.com/jazzband/django-auditlog/pull/590)) - Django: Confirm Django 5.0 support ([#598](https://github.com/jazzband/django-auditlog/pull/598)) - Django: Drop Django 4.1 support ([#598](https://github.com/jazzband/django-auditlog/pull/598))