From f5361f679ab76731aca783822f8ee18b1bad2971 Mon Sep 17 00:00:00 2001 From: SDE Date: Tue, 15 Aug 2023 17:16:40 +0300 Subject: [PATCH] 0.3.22 support chat v3 --- ChatServiceApp/funcs.py | 13 ++++++++++--- templates/blocks/profile/b_support_chat.html | 2 +- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/ChatServiceApp/funcs.py b/ChatServiceApp/funcs.py index 18d0c81..2101eca 100644 --- a/ChatServiceApp/funcs.py +++ b/ChatServiceApp/funcs.py @@ -316,17 +316,24 @@ def get_tickets_wo_manager(): def get_tickets_for_manager(user): - msgs = Message.objects.filter(group=OuterRef('pk'), status='sended', receiver=user).values('id')[:1] + unread_msgs = Message.objects.filter( + group=OuterRef('pk'), status='sended', receiver=user + ).values('id')[:1] + + msgs = Message.objects.filter( + group=OuterRef('pk') + ).order_by('-modifiedDT').values('modifiedDT')[:1] tickets = MsgGroup.objects.filter( enable=True, manager=user ).annotate( - unread_msgs_count = Count(Subquery(msgs)) + unread_msgs_count = Count(Subquery(unread_msgs)), + last_msg_modifiedDT = 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') + ).order_by('-unread_msgs_count', '-last_msg_modifiedDT') return tickets \ No newline at end of file diff --git a/templates/blocks/profile/b_support_chat.html b/templates/blocks/profile/b_support_chat.html index 9bbe3e2..af5bb5f 100644 --- a/templates/blocks/profile/b_support_chat.html +++ b/templates/blocks/profile/b_support_chat.html @@ -19,7 +19,7 @@
- {{ ticket.manager.last_name }} {{ ticket.manager.first_name }} + {{ cur_receiver.last_name }} {{ cur_receiver.first_name }}