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 @@