Browse Source

Update user's visit every 5 minutes

Ralfp 12 years ago
parent
commit
7edb3d3fc3
1 changed files with 9 additions and 1 deletions
  1. 9 1
      misago/sessions/middleware.py

+ 9 - 1
misago/sessions/middleware.py

@@ -1,4 +1,5 @@
-from sessions import SessionCrawler, SessionHuman
+from django.utils import timezone
+from misago.sessions.sessions import SessionCrawler, SessionHuman
 
 
 class SessionMiddleware(object):
 class SessionMiddleware(object):
     def process_request(self, request):
     def process_request(self, request):
@@ -16,6 +17,13 @@ class SessionMiddleware(object):
 
 
     def process_response(self, request, response):
     def process_response(self, request, response):
         try:
         try:
+            # Sync last visit date
+            if request.user.is_authenticated():
+                visit_sync = request.session.get('visit_sync')
+                if not visit_sync or (timezone.now() - visit_sync).seconds >= 900:
+                    request.session['visit_sync'] = timezone.now()
+                    request.user.last_date = timezone.now()
+                    request.user.save(force_update=True)
             request.session.save()
             request.session.save()
         except AttributeError:
         except AttributeError:
             pass
             pass