sync from local backup
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
import threading
|
||||
|
||||
|
||||
def log_event(event_type, user, description='', metadata=None, result='success',
|
||||
target_user=None, ip_address=None, user_agent=None, request=None):
|
||||
def _save():
|
||||
try:
|
||||
from .models import SystemEventLog
|
||||
|
||||
if request and not ip_address:
|
||||
x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
|
||||
if x_forwarded_for:
|
||||
ip_addr = x_forwarded_for.split(',')[0].strip()
|
||||
else:
|
||||
ip_addr = request.META.get('REMOTE_ADDR')
|
||||
else:
|
||||
ip_addr = ip_address
|
||||
|
||||
if request and not user_agent:
|
||||
ua = request.META.get('HTTP_USER_AGENT', '')[:500]
|
||||
else:
|
||||
ua = user_agent or ''
|
||||
|
||||
SystemEventLog.objects.create(
|
||||
event_type=event_type,
|
||||
user=user,
|
||||
target_user=target_user,
|
||||
description=description[:500],
|
||||
metadata=metadata or {},
|
||||
ip_address=ip_addr,
|
||||
user_agent=ua,
|
||||
result=result,
|
||||
)
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
thread = threading.Thread(target=_save)
|
||||
thread.daemon = True
|
||||
thread.start()
|
||||
Reference in New Issue
Block a user