44 |
44 |
|
45 |
45 |
Inspired by django-log-request-id
|
46 |
46 |
'''
|
|
47 |
if (hasattr(record, 'user') and hasattr(record.user, 'is_authenticated') and
|
|
48 |
record.user.is_authenticated()):
|
|
49 |
user = record.user
|
|
50 |
del record.user
|
|
51 |
else:
|
|
52 |
user = None
|
|
53 |
|
47 |
54 |
from hobo.middleware.utils import StoreRequestMiddleware
|
48 |
55 |
from django.conf import settings
|
49 |
56 |
from django.db import connection
|
... | ... | |
61 |
68 |
if getattr(getattr(connection, 'tenant', None), 'domain_url', None):
|
62 |
69 |
record.tenant = connection.tenant.domain_url
|
63 |
70 |
request = StoreRequestMiddleware.get_request()
|
|
71 |
|
64 |
72 |
if not request is None:
|
65 |
73 |
if not hasattr(record, 'request'):
|
66 |
74 |
record.request = request
|
67 |
75 |
record.ip = request.META.get('REMOTE_ADDR', self.DEFAULT_IP)
|
68 |
76 |
record.path = request.get_full_path()
|
69 |
77 |
record.request_id = 'r:' + hex(id(request))[2:].upper()
|
70 |
|
if hasattr(request, 'user') and request.user.is_authenticated():
|
|
78 |
# if caller already passed an user, it means it knows better
|
|
79 |
if user is None and hasattr(request, 'user') and request.user.is_authenticated():
|
71 |
80 |
user = request.user
|
72 |
|
if getattr(user, 'email', None):
|
73 |
|
record.user_email = user.email
|
74 |
|
record.user = user.email
|
75 |
|
if getattr(user, 'username', None):
|
76 |
|
record.user_name = user.username
|
77 |
|
record.user = user.username
|
78 |
|
if hasattr(user, 'get_full_name') and user.get_full_name():
|
79 |
|
record.user_display_name = user.get_full_name()
|
80 |
|
if hasattr(user, 'saml_identifiers'):
|
81 |
|
saml_identifiers = user.saml_identifiers.all()
|
82 |
|
if saml_identifiers:
|
83 |
|
record.user_uuid = saml_identifiers[0].name_id
|
84 |
|
if record.user == self.DEFAULT_USER:
|
85 |
|
record.user = record.user_uuid[:7]
|
|
81 |
|
|
82 |
if user:
|
|
83 |
user = request.user
|
|
84 |
if getattr(user, 'email', None):
|
|
85 |
record.user_email = user.email
|
|
86 |
record.user = user.email
|
|
87 |
if getattr(user, 'username', None):
|
|
88 |
record.user_name = user.username
|
|
89 |
record.user = user.username
|
|
90 |
if hasattr(user, 'get_full_name') and user.get_full_name():
|
|
91 |
record.user_display_name = user.get_full_name()
|
|
92 |
if hasattr(user, 'saml_identifiers'):
|
|
93 |
saml_identifiers = user.saml_identifiers.all()
|
|
94 |
if saml_identifiers:
|
|
95 |
record.user_uuid = saml_identifiers[0].name_id
|
|
96 |
if record.user == self.DEFAULT_USER:
|
|
97 |
record.user = record.user_uuid[:7]
|
86 |
98 |
return True
|
87 |
|
-
|