chat v3
This commit is contained in:
SDE
2023-08-13 17:52:21 +03:00
parent 5e79bf8263
commit 2bf5b18197
2 changed files with 54 additions and 8 deletions

View File

@@ -12,6 +12,47 @@ import json
from datetime import datetime, time
def get_update_chat_html(data):
from AuthApp.models import User
res_Dict = {}
msgs = []
Dict = {}
context_Dict = {}
last_message_modifiedDT = None
required_beep = False
try:
if type(data) == str:
data = json.loads(data)
ticket = None
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'])
sender = User.objects.get(id=data['sender'])
receiver = None
if 'receiver' in data and data['receiver']:
receiver = User.objects.get(id=data['receiver'])
context_Dict.update({'cur_receiver': receiver})
res_Dict.update({
'required_beep': required_beep,
})
return res_Dict
except Exception as e:
msg = f'update_chat_ajax2 Error = {str(e)}'
return {'error': msg}
def update_chat(data):
from AuthApp.models import User
@@ -41,6 +82,11 @@ def update_chat(data):
if 'receiver' in data and data['receiver']:
receiver = User.objects.get(id=data['receiver'])
if data['sender'] == data['cur_user']:
context_Dict.update({'user': sender})
else:
context_Dict.update({'user': receiver})
context_Dict.update({'cur_receiver': receiver})
@@ -82,7 +128,7 @@ def update_chat(data):
chat_html = render_to_string(tpl_name, context_Dict)
res_Dict.update({'chat_html': chat_html})
required_beep = True
unreaded_msgs.update(status='seen')
# unreaded_msgs.update(status='seen')

View File

@@ -34,13 +34,14 @@ class ChatConsumer(WebsocketConsumer):
receiver = data['receiver']
from .funcs import send_msg, update_chat
data.update({'cur_user': sender})
send_msg(data)
Dict = update_chat(data)
resDict = {
'type': 'update_chat',
# 'message': Dict,
# 'sender': resDict['sender']
'sender': sender,
'receiver': receiver,
}
resDict.update(Dict)
group_name = f'user_{sender}'
@@ -49,15 +50,14 @@ class ChatConsumer(WebsocketConsumer):
resDict
)
data['sender'] = receiver
data['receiver'] = sender
data.update({'cur_user': receiver})
Dict = update_chat(data)
group_name = f'user_{receiver}'
resDict = {
'type': 'update_chat',
# 'message': Dict,
# 'sender': resDict['sender']
'sender': receiver,
'receiver': sender,
}
resDict.update(Dict)
async_to_sync(self.channel_layer.group_send)(
@@ -71,7 +71,7 @@ class ChatConsumer(WebsocketConsumer):
self.send(text_data=json.dumps(data))
def update_chat(self, data):
print('ws update_chat')
print(f'ws update_chat {str(self.channel_layer.groups)}')
self.send(text_data=json.dumps(data))