11import contextlib
22
3- from auditlog .models import LogEntry
43from crum import get_current_user
54from django .conf import settings
65from django .contrib .auth import get_user_model
7- from django .contrib .contenttypes .models import ContentType
86from django .db .models .signals import post_delete , post_save
97from django .dispatch import receiver
108from django .urls import reverse
@@ -37,7 +35,7 @@ def product_type_post_delete(sender, instance, **kwargs):
3735 user = None
3836
3937 if settings .ENABLE_AUDITLOG :
40- # First try to find deletion author in pghistory events
38+ # Find deletion author in pghistory events
4139 # Look for delete events for this specific product_type instance
4240 pghistory_delete_events = DojoEvents .objects .filter (
4341 pgh_obj_model = "dojo.Product_Type" ,
@@ -53,16 +51,6 @@ def product_type_post_delete(sender, instance, **kwargs):
5351 with contextlib .suppress (User .DoesNotExist ):
5452 user = User .objects .get (id = latest_delete .user )
5553
56- # Fall back to django-auditlog if no user found in pghistory
57- if not user :
58- if le := LogEntry .objects .filter (
59- action = LogEntry .Action .DELETE ,
60- content_type = ContentType .objects .get (app_label = "dojo" , model = "product_type" ),
61- object_id = instance .id ,
62- ).order_by ("-id" ).first ():
63- user = le .actor
64-
65- # Since adding pghistory as auditlog option, this signal here runs before the django-auditlog signal
6654 # Fallback to the current user of the request (Which might be not available for ASYNC_OBJECT_DELETE scenario's)
6755 if not user :
6856 current_user = get_current_user ()
0 commit comments