chat v3
This commit is contained in:
SDE
2023-08-13 18:25:54 +03:00
parent 2bf5b18197
commit 2e2b19d5e0
2 changed files with 23 additions and 14 deletions

View File

@@ -89,6 +89,8 @@ def update_chat(data):
context_Dict.update({'cur_receiver': receiver}) context_Dict.update({'cur_receiver': receiver})
required_beep = data['required_beep']
if not ticket: if not ticket:
@@ -120,15 +122,14 @@ def update_chat(data):
}) })
if sender and receiver: # if sender and receiver:
msgs = get_msgs_for_chat_w_users(sender, receiver) msgs = get_msgs_for_chat_w_users(sender, receiver)
unreaded_msgs = msgs.filter(status='sended') # unreaded_msgs = msgs.filter(status='sended')
if msgs and unreaded_msgs: # if msgs and unreaded_msgs:
context_Dict.update({'messages': msgs}) context_Dict.update({'messages': msgs})
chat_html = render_to_string(tpl_name, context_Dict) chat_html = render_to_string(tpl_name, context_Dict)
res_Dict.update({'chat_html': chat_html}) res_Dict.update({'chat_html': chat_html})
required_beep = True # unreaded_msgs.update(status='seen')
# unreaded_msgs.update(status='seen')

View File

@@ -34,30 +34,38 @@ class ChatConsumer(WebsocketConsumer):
receiver = data['receiver'] receiver = data['receiver']
from .funcs import send_msg, update_chat from .funcs import send_msg, update_chat
data.update({'cur_user': sender}) data.update({
'cur_user': sender,
'required_beep': False,
})
send_msg(data) send_msg(data)
Dict = update_chat(data) Dict = update_chat(data)
group_name = f'user_{sender}'
resDict = { resDict = {
'type': 'update_chat', 'type': 'update_chat',
'sender': sender, 'sender': sender,
'receiver': receiver, 'receiver': receiver,
'group_name': group_name,
} }
resDict.update(Dict) resDict.update(Dict)
group_name = f'user_{sender}'
async_to_sync(self.channel_layer.group_send)( async_to_sync(self.channel_layer.group_send)(
group_name, group_name,
resDict resDict
) )
data.update({'cur_user': receiver}) data.update({
'cur_user': receiver,
'required_beep': True,
})
Dict = update_chat(data) Dict = update_chat(data)
group_name = f'user_{receiver}' group_name = f'user_{receiver}'
resDict = { resDict = {
'type': 'update_chat', 'type': 'update_chat',
'sender': receiver, 'sender': receiver,
'receiver': sender, 'receiver': sender,
'group_name': group_name,
} }
resDict.update(Dict) resDict.update(Dict)
async_to_sync(self.channel_layer.group_send)( async_to_sync(self.channel_layer.group_send)(
@@ -71,7 +79,7 @@ class ChatConsumer(WebsocketConsumer):
self.send(text_data=json.dumps(data)) self.send(text_data=json.dumps(data))
def update_chat(self, data): def update_chat(self, data):
print(f'ws update_chat {str(self.channel_layer.groups)}') print(f'ws update_chat {data["group_name"]}')
self.send(text_data=json.dumps(data)) self.send(text_data=json.dumps(data))