diff --git a/ChatServiceApp/js_views.py b/ChatServiceApp/js_views.py index 4db502e..83bfeda 100644 --- a/ChatServiceApp/js_views.py +++ b/ChatServiceApp/js_views.py @@ -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)) diff --git a/templates/blocks/profile/b_support_chat.html b/templates/blocks/profile/b_support_chat.html index 97842f1..4bd358a 100644 --- a/templates/blocks/profile/b_support_chat.html +++ b/templates/blocks/profile/b_support_chat.html @@ -46,7 +46,7 @@ -