diff --git a/ChatServiceApp/funcs.py b/ChatServiceApp/funcs.py index 5db51e9..9cf2e35 100644 --- a/ChatServiceApp/funcs.py +++ b/ChatServiceApp/funcs.py @@ -35,7 +35,6 @@ def get_update_chat_Dict(data): tpl_name = 'blocks/profile/b_messages_container.html' - if 'ticket_id' in data and data['ticket_id'] and data['ticket_id'] != 'null': ticket = MsgGroup.objects.get(id=data['ticket_id']) res_Dict.update({'ticket': ticket.id}) @@ -115,11 +114,12 @@ def send_msg(data): try: if type(data) == str: data = json.loads(data) + ticket = None tpl_name = 'blocks/profile/b_messages_container.html' - if data['text']: + if 'text' in data or 'files' in data: if 'ticket_id' in data: ticket = MsgGroup.objects.get(id=data['ticket_id']) @@ -173,9 +173,17 @@ def send_msg(data): msg_create_kwargs.update({ 'sender': sender, 'receiver': receiver, - 'text': data['text'] }) + if 'text' in data: + msg_create_kwargs.update({'text': data['text']}) + + if 'files' in data: + files_list = [] + for file in data['files']: + files_list.append(json.loads(file)) + msg_create_kwargs.update({'files': files_list}) + msg = Message.objects.create(**msg_create_kwargs) # if ticket: @@ -211,28 +219,28 @@ def send_msg(data): -def get_create_route_for_customer_page_content_Dict(request): - from AuthApp.models import User - - msgs = [] - try: - cur_receiver = User.objects.get(id=receiver_id) - - msgs = get_msgs_for_chat_w_users(request.user, cur_receiver) - msgs.filter(receiver=request.user).update(status='seen') - - except User.DoesNotExist: - cur_receiver = None - - receivers, unread_msgs_count = get_chat_receivers_for_user(request.user) - - Dict = { - 'cur_receiver': cur_receiver, - 'messages': msgs, - 'receivers': receivers, - 'page': 'chat', - } - return Dict +# def get_create_route_for_customer_page_content_Dict(request): +# from AuthApp.models import User +# +# msgs = [] +# try: +# cur_receiver = User.objects.get(id=receiver_id) +# +# msgs = get_msgs_for_chat_w_users(request.user, cur_receiver) +# msgs.filter(receiver=request.user).update(status='seen') +# +# except User.DoesNotExist: +# cur_receiver = None +# +# receivers, unread_msgs_count = get_chat_receivers_for_user(request.user) +# +# Dict = { +# 'cur_receiver': cur_receiver, +# 'messages': msgs, +# 'receivers': receivers, +# 'page': 'chat', +# } +# return Dict def get_chat_page_content_html(request, receiver_id=None): diff --git a/ChatServiceApp/websocket_views.py b/ChatServiceApp/websocket_views.py index 0bb1f94..822da7c 100644 --- a/ChatServiceApp/websocket_views.py +++ b/ChatServiceApp/websocket_views.py @@ -124,12 +124,23 @@ class ChatConsumer(WebsocketConsumer): def receive(self, text_data=None, bytes_data=None): print(f'ws receive text_data = {text_data}') + import base64 + from AuthApp.models import User from .models import Message, MsgGroup data = json.loads(text_data) + # if 'file' in data: + # file_Dict = json.loads(data['file']) + # + # f = open(f'chat_file_storage/{file_Dict["file_name"]}', 'wb+') + # head, content = file_Dict['file'].split(',') + # content = base64.b64decode(content) + # f.write(content) + # f.close() + sender = data['sender'] receiver = data['receiver'] sender_obj = User.objects.get(id=sender) diff --git a/templates/blocks/profile/b_messages_container.html b/templates/blocks/profile/b_messages_container.html index 80ff672..0308db8 100644 --- a/templates/blocks/profile/b_messages_container.html +++ b/templates/blocks/profile/b_messages_container.html @@ -1,7 +1,7 @@ {% load static %} -{% include "widgets/w_file.html" %} +{#{% include "widgets/w_file.html" %}#} {% if not messages and ticket %} {% include "widgets/w_message.html" %} {% else %} diff --git a/templates/widgets/w_message.html b/templates/widgets/w_message.html index 42effe0..0bb1a4b 100644 --- a/templates/widgets/w_message.html +++ b/templates/widgets/w_message.html @@ -8,9 +8,24 @@