tracker.py 780 B

123456789101112131415161718192021222324252627282930313233
  1. from django.utils import timezone
  2. from ..models import Online
  3. def mute_tracker(request):
  4. request._misago_online_tracker = None
  5. def start_tracking(request, user):
  6. online_tracker = Online.objects.create(
  7. user=user,
  8. current_ip=request.user_ip,
  9. )
  10. request.user.online_tracker = online_tracker
  11. request._misago_online_tracker = online_tracker
  12. def update_tracker(request, tracker):
  13. tracker.current_ip = request.user_ip
  14. tracker.last_click = timezone.now()
  15. tracker.save(update_fields=['last_click', 'current_ip'])
  16. def stop_tracking(request, tracker):
  17. user = tracker.user
  18. user.last_login = tracker.last_click
  19. user.last_ip = tracker.current_ip
  20. user.save(update_fields=['last_login', 'last_ip'])
  21. tracker.delete()