Skip to content

Commit c9e01f9

Browse files
committed
Added support for a model delta callback
1 parent 6f1bb68 commit c9e01f9

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

easyaudit/settings.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,4 +105,6 @@ def get_model_list(class_list):
105105
REQUEST_EVENT_LIST_FILTER = getattr(settings, 'DJANGO_EASY_AUDIT_REQUEST_EVENT_LIST_FILTER', ['method', 'user', 'datetime', ])
106106

107107
# JSON object representation serializer override
108-
CRUD_OBJECT_JSON_REPR_SERIALIZER_OVERRIDE = getattr(settings, 'DJANGO_EASY_AUDIT_CRUD_OBJECT_JSON_REPR_SERIALIZER_OVERRIDE', None)
108+
CRUD_OBJECT_JSON_REPR_SERIALIZER_OVERRIDE = getattr(settings, 'DJANGO_EASY_AUDIT_CRUD_OBJECT_JSON_REPR_SERIALIZER_OVERRIDE', None)
109+
110+
CRUD_OBJECT_MODEL_DELTA_CALLBACK = getattr(settings, 'DJANGO_EASY_AUDIT_CRUD_OBJECT_MODEL_DELTA_CALLBACK', None)

easyaudit/signals/model_signals.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
from easyaudit.models import CRUDEvent
1616
from easyaudit.settings import REGISTERED_CLASSES, UNREGISTERED_CLASSES, \
1717
WATCH_MODEL_EVENTS, CRUD_DIFFERENCE_CALLBACKS,\
18-
CRUD_OBJECT_JSON_REPR_SERIALIZER_OVERRIDE
18+
CRUD_OBJECT_JSON_REPR_SERIALIZER_OVERRIDE, CRUD_OBJECT_MODEL_DELTA_CALLBACK
1919
from easyaudit.utils import model_delta
2020

2121
logger = logging.getLogger(__name__)
@@ -71,6 +71,8 @@ def pre_save(sender, instance, raw, using, update_fields, **kwargs):
7171
if not created:
7272
old_model = sender.objects.get(pk=instance.pk)
7373
delta = model_delta(old_model, instance)
74+
if CRUD_OBJECT_MODEL_DELTA_CALLBACK != None:
75+
delta = CRUD_OBJECT_MODEL_DELTA_CALLBACK(old_model, instance, delta)
7476
changed_fields = json.dumps(delta)
7577
event_type = CRUDEvent.UPDATE
7678

0 commit comments

Comments
 (0)