chat routines
This commit is contained in:
SDE
2023-08-08 17:54:36 +03:00
parent e21d392ee2
commit ac57eceb66
2 changed files with 25 additions and 9 deletions

View File

@@ -71,7 +71,9 @@ def update_chat_ajax(request):
last_message_modifiedDT = datetime.strptime(data['last_message_modifiedDT'], '%d.%m.%Y %H:%M:%S:%f')
sender = User.objects.get(id=data['sender'])
receiver = User.objects.get(id=data['receiver'])
receiver = None
if 'receiver' in data and data['receiver']:
receiver = User.objects.get(id=data['receiver'])
if ticket:
@@ -83,12 +85,11 @@ def update_chat_ajax(request):
else:
msgs = get_msgs_for_chat_w_users(sender, receiver)
if last_message_modifiedDT:
if not msgs or msgs[0].modifiedDT <= last_message_modifiedDT:
Dict.update({
'msgs_count': len(msgs)
})
return JsonResponse(Dict, status=200)
if (not msgs and not last_message_modifiedDT) or (msgs and last_message_modifiedDT and msgs[0].modifiedDT <= last_message_modifiedDT):
Dict.update({
'msgs_count': len(msgs)
})
return JsonResponse(Dict, status=200)
res_Dict.update({
@@ -222,9 +223,24 @@ def support_show_chat_by_ticket_ajax(request):
ticket = MsgGroup.objects.get(id=data['ticket_id'])
msgs = get_messages_for_ticket(ticket)
new_msg_allow = False
cur_receiver = None
if request.user.is_staff:
cur_receiver = ticket.owner
new_msg_allow = True
else:
if ticket.manager:
cur_receiver = ticket.manager
# if len(msgs) > 1:
new_msg_allow = True
Dict = {
'ticket': ticket,
'messages': get_messages_for_ticket(ticket),
'messages': msgs,
'cur_receiver': cur_receiver,
'new_msg_allow': new_msg_allow
}
Dict.update(get_ticketsDict_for_staff(request.user))