123456789101112131415161718192021222324252627282930313233343536 |
- from rest_framework.request import Request
- from django.utils import timezone
- from misago.users.models import Online
- def mute_tracker(request):
- request._misago_online_tracker = None
- def start_tracking(request, user):
- online_tracker = Online.objects.create(user=user)
- request.user.online_tracker = online_tracker
- request._misago_online_tracker = online_tracker
- def update_tracker(request, tracker):
- tracker.last_click = timezone.now()
- tracker.save(update_fields=['last_click'])
- def stop_tracking(request, tracker):
- user = tracker.user
- user.last_login = tracker.last_click
- user.save(update_fields=['last_login'])
- tracker.delete()
- def clear_tracking(request):
- if isinstance(request, Request):
- request = request._request # Fugly unwrap restframework's request
- request._misago_online_tracker = None
|