|
|
|
@ -2,6 +2,7 @@ from .models import *
|
|
|
|
|
from django.contrib.auth.models import AnonymousUser
|
|
|
|
|
from datetime import datetime, timedelta
|
|
|
|
|
from django.shortcuts import get_object_or_404
|
|
|
|
|
from django.db.models import Max, F
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def calculate_time_ago(status):
|
|
|
|
@ -21,14 +22,18 @@ def calculate_time_ago(status):
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def utilities(request):
|
|
|
|
|
last_connections = Connection.objects.order_by('user', '-date').distinct('user')
|
|
|
|
|
|
|
|
|
|
latest_connections = Connection.objects.filter(
|
|
|
|
|
user__staffprofile__isnull=False
|
|
|
|
|
).values('user').annotate(
|
|
|
|
|
latest_connection=Max('date')
|
|
|
|
|
)
|
|
|
|
|
online_staff_profiles = []
|
|
|
|
|
|
|
|
|
|
for connection in last_connections:
|
|
|
|
|
if connection.status == 'Online':
|
|
|
|
|
# Add user staff profile to online_staff_profiles
|
|
|
|
|
online_staff_profiles.append(connection.user.staffprofile)
|
|
|
|
|
for connection in latest_connections:
|
|
|
|
|
user_id = connection['user']
|
|
|
|
|
latest_connection = connection['latest_connection']
|
|
|
|
|
last_connection = Connection.objects.filter(user_id=user_id, date=latest_connection).first()
|
|
|
|
|
if last_connection.status == 'Online':
|
|
|
|
|
online_staff_profiles.append(last_connection.user.staffprofile)
|
|
|
|
|
notes = None
|
|
|
|
|
recent_note = None
|
|
|
|
|
if request.user.is_authenticated:
|
|
|
|
|