0.3.20
support chat v3
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user