|
|
|
@ -13,7 +13,7 @@ class OnlineConnectionMiddleware:
|
|
|
|
|
if request.user.is_authenticated and request.user.staffprofile:
|
|
|
|
|
current_datetime = datetime.now()
|
|
|
|
|
last_connection = Connection.objects.filter(user=request.user).order_by('-date').first()
|
|
|
|
|
if not last_connection or last_connection.status != 'Online':
|
|
|
|
|
if not last_connection:
|
|
|
|
|
Connection.objects.create(user=request.user, status='Online', date=current_datetime)
|
|
|
|
|
new_status = Status.objects.create(
|
|
|
|
|
text='I am now online!',
|
|
|
|
@ -21,6 +21,20 @@ class OnlineConnectionMiddleware:
|
|
|
|
|
time=datetime.now().strftime('%I:%M %p'),
|
|
|
|
|
staff=request.user.staffprofile
|
|
|
|
|
)
|
|
|
|
|
else:
|
|
|
|
|
if last_connection.status != 'Online':
|
|
|
|
|
staff_profile = request.user.staffprofile
|
|
|
|
|
last_point_activity = PointActivity.objects.filter(
|
|
|
|
|
point__task__assigned_to=staff_profile
|
|
|
|
|
).last()
|
|
|
|
|
if last_point_activity.point.status=='Working On' and not last_point_activity.end_time:
|
|
|
|
|
Connection.objects.create(user=request.user, status='Online', date=current_datetime)
|
|
|
|
|
new_status = Status.objects.create(
|
|
|
|
|
text='I am now online!',
|
|
|
|
|
date=datetime.now().date(), # Getting the current date
|
|
|
|
|
time=datetime.now().strftime('%I:%M %p'),
|
|
|
|
|
staff=request.user.staffprofile
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return response
|
|
|
|
|