support chat v3
This commit is contained in:
SDE
2023-08-15 16:05:41 +03:00
parent e9d4d71c9d
commit 9d0998fb2b
7 changed files with 211 additions and 115 deletions

View File

@@ -1,5 +1,5 @@
from .models import *
from django.db.models import Q
from django.db.models import Q, Value as V, Count, OuterRef, Subquery
from django.http import HttpResponse, Http404, JsonResponse
from django.template import loader, RequestContext
from django.contrib.auth.decorators import login_required
@@ -305,12 +305,28 @@ def get_ticketsDict_for_staff(user):
def get_tickets_wo_manager():
tickets = MsgGroup.objects.filter(enable=True, manager=None).order_by('-modifiedDT')
tickets = MsgGroup.objects.filter(
enable=True, manager=None
).annotate(
unread_msgs_count=V(1)
).order_by('-modifiedDT')
return tickets
def get_tickets_for_manager(user):
tickets = MsgGroup.objects.filter(enable=True, manager=user).order_by('-modifiedDT')
msgs = Message.objects.filter(group=OuterRef('pk'), status='sended', receiver=user).values('id')[:1]
tickets = MsgGroup.objects.filter(
enable=True, manager=user
).annotate(
unread_msgs_count = Count(Subquery(msgs))
# unread_msgs_count=Count(
# 'rel_messages_for_group',
# filter=Q(rel_messages_for_group__status='sended', rel_messages_for_group__receiver=user)
# )
).order_by('-modifiedDT')
return tickets