|
@@ -18,6 +18,9 @@ def index(request):
|
|
popular_threads.append(thread)
|
|
popular_threads.append(thread)
|
|
cache.set('thread_ranking_%s' % request.user.make_acl_key(), popular_threads, 60 * request.settings['thread_ranking_refresh'])
|
|
cache.set('thread_ranking_%s' % request.user.make_acl_key(), popular_threads, 60 * request.settings['thread_ranking_refresh'])
|
|
|
|
|
|
|
|
+ # Users online
|
|
|
|
+ users_online = request.onlines.stats()
|
|
|
|
+
|
|
# Ranks online
|
|
# Ranks online
|
|
ranks_list = cache.get('ranks_online', 'nada')
|
|
ranks_list = cache.get('ranks_online', 'nada')
|
|
if ranks_list == 'nada':
|
|
if ranks_list == 'nada':
|
|
@@ -37,7 +40,7 @@ def index(request):
|
|
ranks_list.append(rank_entry)
|
|
ranks_list.append(rank_entry)
|
|
ranks_dict[rank.pk] = rank_entry
|
|
ranks_dict[rank.pk] = rank_entry
|
|
if ranks_dict:
|
|
if ranks_dict:
|
|
- for session in Session.objects.select_related('user').filter(rank__in=ranks_dict.keys()).filter(last__gte=timezone.now() - timedelta(seconds=request.settings['sessions_tracker_sync_frequency'])).filter(user__isnull=False):
|
|
|
|
|
|
+ for session in Session.objects.select_related('user').filter(rank__in=ranks_dict.keys()).filter(last__gte=timezone.now() - timedelta(seconds=request.settings['online_counting_frequency'])).filter(user__isnull=False):
|
|
if not session.user_id in users_list:
|
|
if not session.user_id in users_list:
|
|
ranks_dict[session.user.rank_id]['online'].append(session.user)
|
|
ranks_dict[session.user.rank_id]['online'].append(session.user)
|
|
ranks_dict[session.user.rank_id]['pks'].append(session.user.pk)
|
|
ranks_dict[session.user.rank_id]['pks'].append(session.user.pk)
|
|
@@ -48,21 +51,17 @@ def index(request):
|
|
ranks_dict[request.user.rank_id]['online'].append(request.user)
|
|
ranks_dict[request.user.rank_id]['online'].append(request.user)
|
|
ranks_dict[request.user.rank_id]['pks'].append(request.user.pk)
|
|
ranks_dict[request.user.rank_id]['pks'].append(request.user.pk)
|
|
users_list.append(request.user.pk)
|
|
users_list.append(request.user.pk)
|
|
- cache.set('team_users_online', users_list, request.settings['sessions_tracker_sync_frequency'])
|
|
|
|
|
|
+ cache.set('team_users_online', users_list, request.settings['online_counting_frequency'])
|
|
del ranks_dict
|
|
del ranks_dict
|
|
del users_list
|
|
del users_list
|
|
- cache.set('ranks_online', ranks_list, request.settings['sessions_tracker_sync_frequency'])
|
|
|
|
|
|
+ cache.set('ranks_online', ranks_list, request.settings['online_counting_frequency'])
|
|
elif request.user.is_authenticated():
|
|
elif request.user.is_authenticated():
|
|
for rank in ranks_list:
|
|
for rank in ranks_list:
|
|
if rank['id'] == request.user.rank_id and not request.user.pk in rank['pks']:
|
|
if rank['id'] == request.user.rank_id and not request.user.pk in rank['pks']:
|
|
rank['online'].append(request.user)
|
|
rank['online'].append(request.user)
|
|
rank['pks'].append(request.user.pk)
|
|
rank['pks'].append(request.user.pk)
|
|
- request.onlines.count_sessions()
|
|
|
|
break
|
|
break
|
|
|
|
|
|
- # Users online
|
|
|
|
- users_online = request.onlines.stats(request)
|
|
|
|
-
|
|
|
|
# Load reads tracker and build forums list
|
|
# Load reads tracker and build forums list
|
|
reads_tracker = ForumsTracker(request.user)
|
|
reads_tracker = ForumsTracker(request.user)
|
|
forums_list = Forum.objects.treelist(request.acl.forums, tracker=reads_tracker)
|
|
forums_list = Forum.objects.treelist(request.acl.forums, tracker=reads_tracker)
|