diff --git a/auditlog/middleware.py b/auditlog/middleware.py index e44c1dd..190a4ae 100644 --- a/auditlog/middleware.py +++ b/auditlog/middleware.py @@ -1,3 +1,4 @@ +from django.conf import settings from django.db.models.signals import pre_save from django.utils.functional import curry from auditlog.models import LogEntry @@ -15,13 +16,13 @@ class AuditLogMiddleware(object): else: user = None - insert_user = curry(self.insert_user, user) - pre_save.connect(insert_user, sender=LogEntry, dispatch_uid=(self.__class__, request), weak=False) + set_actor = curry(self.set_actor, user) + pre_save.connect(set_actor, sender=LogEntry, dispatch_uid=(self.__class__, request), weak=False) def process_response(self, request, response): pre_save.disconnect(dispatch_uid=(self.__class__, request)) return response - def insert_user(self, user, sender, instance, **kwargs): - if sender == LogEntry and isinstance(instance, sender): + def set_actor(self, user, sender, instance, **kwargs): + if sender == LogEntry and isinstance(user, settings.AUTH_USER_MODEL): instance.actor = user diff --git a/auditlog/models.py b/auditlog/models.py index 5d02360..1adab0d 100644 --- a/auditlog/models.py +++ b/auditlog/models.py @@ -1,3 +1,4 @@ +from django.conf import settings from django.contrib.contenttypes import generic from django.contrib.contenttypes.models import ContentType from django.db import models @@ -49,7 +50,7 @@ class LogEntry(models.Model): object_repr = models.TextField(verbose_name=_("object representation")) action = models.PositiveSmallIntegerField(choices=Action.choices, verbose_name=_("action")) changes = models.TextField(blank=True, verbose_name=_("change message")) - actor = models.ForeignKey('auth.User', blank=True, null=True, on_delete=models.SET_NULL, related_name='+', verbose_name=_("actor")) + actor = models.ForeignKey(settings.AUTH_USER_MODEL, blank=True, null=True, on_delete=models.SET_NULL, related_name='+', verbose_name=_("actor")) timestamp = models.DateTimeField(auto_now_add=True, verbose_name=_("timestamp")) class Meta: