import logging from inventory import models from django.utils import timezone logger = logging.getLogger('user_activity') class LogUserActivityMiddleware: def __init__(self, get_response): self.get_response = get_response def __call__(self, request): response = self.get_response(request) if request.user.is_authenticated: action = f"{request.method} {request.path}" models.UserActivityLog.objects.create( user=request.user, action=action, timestamp=timezone.now() ) return response def get_client_ip(self, request): x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR') if x_forwarded_for: return x_forwarded_for.split(',')[0] return request.META.get('REMOTE_ADDR') # class InjectParamsMiddleware: # def __init__(self, get_response): # self.get_response = get_response # def __call__(self, request): # try: # request.entity = request.user.dealer.entity # except Exception as e: # pass # response = self.get_response(request) # return response