From b0822f4076ca3093f3ae02f85754fa425ee2e0c9 Mon Sep 17 00:00:00 2001 From: SDE Date: Mon, 7 Aug 2023 17:09:29 +0300 Subject: [PATCH] 0.1.38 chat routines --- ChatServiceApp/js_urls.py | 1 + ChatServiceApp/js_views.py | 54 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+) diff --git a/ChatServiceApp/js_urls.py b/ChatServiceApp/js_urls.py index 774c4a0..bc9535d 100644 --- a/ChatServiceApp/js_urls.py +++ b/ChatServiceApp/js_urls.py @@ -11,5 +11,6 @@ urlpatterns = [ path('create_ticket/', create_ticket_ajax, name='create_ticket_ajax'), path('support_show_chat_by_ticket/', support_show_chat_by_ticket_ajax, name='support_show_chat_by_ticket_ajax'), path('send_msg/', send_msg_ajax, name='send_msg_ajax'), + path('update_chat/', update_chat_ajax, name='update_chat_ajax'), path('show_chat_w_user/', show_chat_w_user_ajax, name='show_chat_w_user_ajax'), ] \ No newline at end of file diff --git a/ChatServiceApp/js_views.py b/ChatServiceApp/js_views.py index 9791638..aaa7988 100644 --- a/ChatServiceApp/js_views.py +++ b/ChatServiceApp/js_views.py @@ -43,6 +43,60 @@ def show_chat_w_user_ajax(request): return JsonResponse({'error': msg}, status=400) +def update_chat_ajax(request): + from AuthApp.models import User + + if request.method != 'POST': + raise Http404 + + res_Dict = {} + msg = None + Dict = {} + + try: + + data = json.loads(request.body) + ticket = None + + tpl_name = 'blocks/profile/b_messages_container.html' + + + if 'ticket_id' in data: + ticket = MsgGroup.objects.get(id=data['ticket_id']) + + sender = User.objects.get(id=data['sender']) + receiver = User.objects.get(id=data['receiver']) + + if ticket: + + res_Dict.update({ + 'ticket': ticket, + }) + + msgs = get_messages_for_ticket(ticket) + else: + msgs = get_msgs_for_chat_w_users(sender, receiver) + + + res_Dict.update({ + 'messages': msgs, + 'cur_receiver': receiver, + 'modifiedDT': msgs[0].modifiedDT + }) + + html = render_to_string(tpl_name, res_Dict, request=request) + + Dict.update({ + 'html': html, + 'msgs_count': len(msgs) + }) + return JsonResponse(Dict, status=200) + + except Exception as e: + msg = f'send_msg_ajax Error = {str(e)}' + return JsonResponse({'error': msg}, status=400) + + @login_required(login_url='/profile/login/') def send_msg_ajax(request): from AuthApp.models import User