0.7.31
files in chat messages
This commit is contained in:
@@ -35,7 +35,6 @@ def get_update_chat_Dict(data):
|
|||||||
|
|
||||||
tpl_name = 'blocks/profile/b_messages_container.html'
|
tpl_name = 'blocks/profile/b_messages_container.html'
|
||||||
|
|
||||||
|
|
||||||
if 'ticket_id' in data and data['ticket_id'] and data['ticket_id'] != 'null':
|
if 'ticket_id' in data and data['ticket_id'] and data['ticket_id'] != 'null':
|
||||||
ticket = MsgGroup.objects.get(id=data['ticket_id'])
|
ticket = MsgGroup.objects.get(id=data['ticket_id'])
|
||||||
res_Dict.update({'ticket': ticket.id})
|
res_Dict.update({'ticket': ticket.id})
|
||||||
@@ -115,11 +114,12 @@ def send_msg(data):
|
|||||||
try:
|
try:
|
||||||
if type(data) == str:
|
if type(data) == str:
|
||||||
data = json.loads(data)
|
data = json.loads(data)
|
||||||
|
|
||||||
ticket = None
|
ticket = None
|
||||||
|
|
||||||
tpl_name = 'blocks/profile/b_messages_container.html'
|
tpl_name = 'blocks/profile/b_messages_container.html'
|
||||||
|
|
||||||
if data['text']:
|
if 'text' in data or 'files' in data:
|
||||||
|
|
||||||
if 'ticket_id' in data:
|
if 'ticket_id' in data:
|
||||||
ticket = MsgGroup.objects.get(id=data['ticket_id'])
|
ticket = MsgGroup.objects.get(id=data['ticket_id'])
|
||||||
@@ -173,9 +173,17 @@ def send_msg(data):
|
|||||||
msg_create_kwargs.update({
|
msg_create_kwargs.update({
|
||||||
'sender': sender,
|
'sender': sender,
|
||||||
'receiver': receiver,
|
'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)
|
msg = Message.objects.create(**msg_create_kwargs)
|
||||||
|
|
||||||
# if ticket:
|
# if ticket:
|
||||||
@@ -211,28 +219,28 @@ def send_msg(data):
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
def get_create_route_for_customer_page_content_Dict(request):
|
# def get_create_route_for_customer_page_content_Dict(request):
|
||||||
from AuthApp.models import User
|
# from AuthApp.models import User
|
||||||
|
#
|
||||||
msgs = []
|
# msgs = []
|
||||||
try:
|
# try:
|
||||||
cur_receiver = User.objects.get(id=receiver_id)
|
# cur_receiver = User.objects.get(id=receiver_id)
|
||||||
|
#
|
||||||
msgs = get_msgs_for_chat_w_users(request.user, cur_receiver)
|
# msgs = get_msgs_for_chat_w_users(request.user, cur_receiver)
|
||||||
msgs.filter(receiver=request.user).update(status='seen')
|
# msgs.filter(receiver=request.user).update(status='seen')
|
||||||
|
#
|
||||||
except User.DoesNotExist:
|
# except User.DoesNotExist:
|
||||||
cur_receiver = None
|
# cur_receiver = None
|
||||||
|
#
|
||||||
receivers, unread_msgs_count = get_chat_receivers_for_user(request.user)
|
# receivers, unread_msgs_count = get_chat_receivers_for_user(request.user)
|
||||||
|
#
|
||||||
Dict = {
|
# Dict = {
|
||||||
'cur_receiver': cur_receiver,
|
# 'cur_receiver': cur_receiver,
|
||||||
'messages': msgs,
|
# 'messages': msgs,
|
||||||
'receivers': receivers,
|
# 'receivers': receivers,
|
||||||
'page': 'chat',
|
# 'page': 'chat',
|
||||||
}
|
# }
|
||||||
return Dict
|
# return Dict
|
||||||
|
|
||||||
|
|
||||||
def get_chat_page_content_html(request, receiver_id=None):
|
def get_chat_page_content_html(request, receiver_id=None):
|
||||||
|
|||||||
@@ -124,12 +124,23 @@ class ChatConsumer(WebsocketConsumer):
|
|||||||
def receive(self, text_data=None, bytes_data=None):
|
def receive(self, text_data=None, bytes_data=None):
|
||||||
print(f'ws receive text_data = {text_data}')
|
print(f'ws receive text_data = {text_data}')
|
||||||
|
|
||||||
|
import base64
|
||||||
|
|
||||||
from AuthApp.models import User
|
from AuthApp.models import User
|
||||||
from .models import Message, MsgGroup
|
from .models import Message, MsgGroup
|
||||||
|
|
||||||
|
|
||||||
data = json.loads(text_data)
|
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']
|
sender = data['sender']
|
||||||
receiver = data['receiver']
|
receiver = data['receiver']
|
||||||
sender_obj = User.objects.get(id=sender)
|
sender_obj = User.objects.get(id=sender)
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{% load static %}
|
{% load static %}
|
||||||
|
|
||||||
|
|
||||||
{% include "widgets/w_file.html" %}
|
{#{% include "widgets/w_file.html" %}#}
|
||||||
{% if not messages and ticket %}
|
{% if not messages and ticket %}
|
||||||
{% include "widgets/w_message.html" %}
|
{% include "widgets/w_message.html" %}
|
||||||
{% else %}
|
{% else %}
|
||||||
|
|||||||
@@ -8,9 +8,24 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="block_text_message {% get_msg_side user ticket msg %}">
|
<div class="block_text_message {% get_msg_side user ticket msg %}">
|
||||||
<div class="container_text_message {% get_msg_side user ticket msg %}">
|
<div class="container_text_message {% get_msg_side user ticket msg %}">
|
||||||
<span class="text_message">
|
{% if msg.text %}
|
||||||
{% if msg %}{{ msg.text }}{% else %}{{ ticket.text }}{% endif %}
|
<span class="text_message">
|
||||||
</span>
|
{% if msg %}{{ msg.text }}{% else %}{{ ticket.text }}{% endif %}
|
||||||
|
</span>
|
||||||
|
{% elif msg.files %}
|
||||||
|
{% for file in msg.files %}
|
||||||
|
<div class="file_border_cont">
|
||||||
|
<div class="left_part_file_w">
|
||||||
|
<a href="{% static "/img/svg/loader.svg" %}" download><img src="{% static "/img/svg/download_file.svg" %}" style="height:35px"></a>
|
||||||
|
</div>
|
||||||
|
<div class="right_part_file_w">
|
||||||
|
<div>{{ file.file_name }}</div>
|
||||||
|
<div>{{ file.file_size }}</div>
|
||||||
|
</div>
|
||||||
|
<div class="clear_both"></div>
|
||||||
|
</div>
|
||||||
|
{% endfor %}
|
||||||
|
{% endif %}
|
||||||
</div>
|
</div>
|
||||||
<div class="data_send_message {% get_msg_side user ticket msg %}">
|
<div class="data_send_message {% get_msg_side user ticket msg %}">
|
||||||
<span>{% if msg %}{{ msg.modifiedDT }}{% else %}{{ ticket.modifiedDT }}{% endif %}</span>
|
<span>{% if msg %}{{ msg.modifiedDT }}{% else %}{{ ticket.modifiedDT }}{% endif %}</span>
|
||||||
|
|||||||
Reference in New Issue
Block a user