0.3.12
chat v3
This commit is contained in:
@@ -97,7 +97,7 @@ def update_chat(data):
|
|||||||
if data['receiver'] == data['cur_user']:
|
if data['receiver'] == data['cur_user']:
|
||||||
# получаем правую панель с получателями
|
# получаем правую панель с получателями
|
||||||
# получатели
|
# получатели
|
||||||
receivers, unread_msgs_count = get_chat_receivers_for_user(sender, receiver)
|
receivers, unread_msgs_count = get_chat_receivers_for_user(receiver)
|
||||||
# собираем для сохранения в профиле
|
# собираем для сохранения в профиле
|
||||||
# receivers_unread_msgs_count = sorted(
|
# receivers_unread_msgs_count = sorted(
|
||||||
# [{'id': item.id, 'unread_msgs_count': item.unread_msgs_count} for item in receivers],
|
# [{'id': item.id, 'unread_msgs_count': item.unread_msgs_count} for item in receivers],
|
||||||
@@ -287,17 +287,30 @@ def get_chat_receivers_for_user(user, cur_receiver=None):
|
|||||||
msg.receiver.unread_msgs_count = 0
|
msg.receiver.unread_msgs_count = 0
|
||||||
msg.receiver.last_msg = msg.text
|
msg.receiver.last_msg = msg.text
|
||||||
receivers_list.append(msg.receiver)
|
receivers_list.append(msg.receiver)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if msg.sender not in receivers_list and msg.sender != user:
|
if msg.sender not in receivers_list and msg.sender != user:
|
||||||
msg.sender.unread_msgs_count = 0
|
msg.sender.unread_msgs_count = 0
|
||||||
receivers_list.append(msg.sender)
|
receivers_list.append(msg.sender)
|
||||||
msg.sender.last_msg = msg.text
|
msg.sender.last_msg = msg.text
|
||||||
|
|
||||||
if msg.receiver == user:# and (not cur_receiver or msg.sender != cur_receiver):
|
|
||||||
if msg.status == 'sended':
|
if msg.status == 'sended':
|
||||||
i = receivers_list.index(msg.sender)
|
i = receivers_list.index(msg.sender)
|
||||||
receivers_list[i].unread_msgs_count += 1
|
receivers_list[i].unread_msgs_count += 1
|
||||||
unread_msgs_count += 1
|
unread_msgs_count += 1
|
||||||
|
|
||||||
|
# if msg.status == 'sended':
|
||||||
|
# i = receivers_list.index(msg.sender)
|
||||||
|
# receivers_list[i].unread_msgs_count += 1
|
||||||
|
# unread_msgs_count += 1
|
||||||
|
|
||||||
|
# if msg.receiver == user:# and (not cur_receiver or msg.sender != cur_receiver):
|
||||||
|
# if msg.status == 'sended':
|
||||||
|
# i = receivers_list.index(msg.sender)
|
||||||
|
# receivers_list[i].unread_msgs_count += 1
|
||||||
|
# unread_msgs_count += 1
|
||||||
|
|
||||||
return receivers_list, unread_msgs_count
|
return receivers_list, unread_msgs_count
|
||||||
|
|
||||||
# receivers_list.extend((item.sender for item in receivers if item.sender != user))
|
# receivers_list.extend((item.sender for item in receivers if item.sender != user))
|
||||||
|
|||||||
@@ -55,12 +55,14 @@ class ChatConsumer(WebsocketConsumer):
|
|||||||
resDict
|
resDict
|
||||||
)
|
)
|
||||||
|
|
||||||
|
group_name = f'user_{receiver}'
|
||||||
|
if group_name in self.channel_layer.groups.keys():
|
||||||
data.update({
|
data.update({
|
||||||
'cur_user': receiver,
|
'cur_user': receiver,
|
||||||
'required_beep': True,
|
'required_beep': True,
|
||||||
})
|
})
|
||||||
Dict = update_chat(data)
|
Dict = update_chat(data)
|
||||||
group_name = f'user_{receiver}'
|
|
||||||
resDict = {
|
resDict = {
|
||||||
'type': 'update_chat',
|
'type': 'update_chat',
|
||||||
'sender': receiver,
|
'sender': receiver,
|
||||||
|
|||||||
Reference in New Issue
Block a user