Browse Source

muda teste para captura de auth.User

pull/3298/head
Leandro Roberto 5 years ago
parent
commit
74c81000e6
  1. 48
      sapl/base/receivers.py

48
sapl/base/receivers.py

@ -1,6 +1,7 @@
import inspect
import logging
from django.conf import settings
from django.core import serializers
from django.db.models.signals import post_delete, post_save
from django.dispatch import receiver
@ -55,33 +56,32 @@ def audit_log_function(sender, **kwargs):
u = None
for i in inspect.stack():
request = i.frame.f_locals.get('request', None)
if request:
u = request.user
break
else:
self_request = i.frame.f_locals.get('self', None)
if hasattr(self_request, 'request'):
u = self_request.request.user
r = i.frame.f_locals.get('request', None)
try:
if r and \
r.user._meta.label == settings.AUTH_USER_MODEL:
u = r.user
break
instance = kwargs.get('instance')
operation = kwargs.get('operation')
user = u
model_name = instance.__class__.__name__
app_name = instance._meta.app_label
object_id = instance.id
data = serializers.serialize('json', [instance])
if len(data) > AuditLog.MAX_DATA_LENGTH:
data = data[:AuditLog.MAX_DATA_LENGTH]
if user:
username = user.username
else:
username = ''
except:
pass
try:
instance = kwargs.get('instance')
operation = kwargs.get('operation')
user = u
model_name = instance.__class__.__name__
app_name = instance._meta.app_label
object_id = instance.id
data = serializers.serialize('json', [instance])
if len(data) > AuditLog.MAX_DATA_LENGTH:
data = data[:AuditLog.MAX_DATA_LENGTH]
if user:
username = user.username
else:
username = ''
AuditLog.objects.create(username=username,
operation=operation,
model_name=model_name,

Loading…
Cancel
Save