diff --git a/common/djangoapps/track/middleware.py b/common/djangoapps/track/middleware.py index 99a1c0e975f8..a8e35f287393 100644 --- a/common/djangoapps/track/middleware.py +++ b/common/djangoapps/track/middleware.py @@ -136,6 +136,9 @@ def enter_request_context(self, request): 'user_id': self.get_user_primary_key(request), 'username': self.get_username(request), 'ip': self.get_request_ip_address(request), + 'nickname': self.get_user_nickname(request), + 'phone': self.get_user_phone(request), + 'port' : request.META['SERVER_PORT'] if request.META['SERVER_PORT'] else '', } for header_name, context_key in META_KEY_TO_CONTEXT_KEY.iteritems(): # HTTP headers may contain Latin1 characters. Decoding using Latin1 encoding here @@ -198,6 +201,21 @@ def get_username(self, request): except AttributeError: return '' + def get_user_nickname(self, request): + """Gets the user nickname of the logged in Django user""" + try: + return request.user.profile.name + except AttributeError: + return '' + + def get_user_phone(self, request): + """Gets the user phone of the logged in Django user""" + try: + phone = request.user.profile.phone + return phone if phone is not None else '' + except AttributeError: + return '' + def get_request_ip_address(self, request): """Gets the IP address of the request""" ip_address = get_ip(request)