0.3.9
chat v3
This commit is contained in:
@@ -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')
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user