From d873e7bb64c337a09e7b93040e3e65e8fbf8c3e7 Mon Sep 17 00:00:00 2001 From: SDE Date: Fri, 11 Aug 2023 15:32:55 +0300 Subject: [PATCH] 0.2.17 chat v2 command parse add --- ChatServiceApp/js_views.py | 45 ++++++++++--------- ReferenceDataApp/management/__init__.py | 0 .../management/commands/__init__.py | 0 ReferenceDataApp/management/commands/parse.py | 9 ++++ 4 files changed, 33 insertions(+), 21 deletions(-) create mode 100644 ReferenceDataApp/management/__init__.py create mode 100644 ReferenceDataApp/management/commands/__init__.py create mode 100644 ReferenceDataApp/management/commands/parse.py diff --git a/ChatServiceApp/js_views.py b/ChatServiceApp/js_views.py index 8bfd8b4..4cf866f 100644 --- a/ChatServiceApp/js_views.py +++ b/ChatServiceApp/js_views.py @@ -45,8 +45,9 @@ def update_chat_ajax(request): raise Http404 res_Dict = {} - msg = None + msgs = [] Dict = {} + context_Dict = {} last_message_modifiedDT = None @@ -69,46 +70,48 @@ def update_chat_ajax(request): if 'receiver' in data and data['receiver']: receiver = User.objects.get(id=data['receiver']) + res_Dict.update({'cur_receiver': receiver}) + if ticket: - res_Dict.update({ + context_Dict.update({ 'ticket': ticket, }) msgs = get_messages_for_ticket(ticket) + context_Dict.update({'messages': msgs}) context_Dict = get_ticketsDict_for_staff(request.user) + tickets_list_html = render_to_string( 'blocks/profile/b_list_of_tickets_support_chat.html', context_Dict, request=request) res_Dict.update({'tickets_list_html': tickets_list_html}) else: - msgs = get_msgs_for_chat_w_users(sender, receiver) + # если есть получатель - получаем сообщения чата + if receiver: + msgs = get_msgs_for_chat_w_users(sender, receiver) + context_Dict.update({'messages': msgs}) + chat_html = render_to_string(tpl_name, context_Dict, request=request) + res_Dict.update({'chat_html': chat_html}) + + # получаем правую панель с получателями + receivers = get_chat_receivers_for_user(request.user) + context_Dict.update({'receivers': receivers}) users_list_html = render_to_string( - 'blocks/profile/b_list_of_users_messenger.html', res_Dict, request=request) + 'blocks/profile/b_list_of_users_messenger.html', context_Dict, request=request) res_Dict.update({'users_list_html': users_list_html}) - if not msgs or (request.user != msgs[0].receiver) or (not msgs and not last_message_modifiedDT) or (msgs and last_message_modifiedDT and msgs[0].modifiedDT <= last_message_modifiedDT): - Dict.update({ - 'required_beep': False - }) - return JsonResponse(Dict, status=200) + if not msgs or (request.user != msgs[0].receiver) or (not msgs and not last_message_modifiedDT) or (msgs and last_message_modifiedDT and msgs[0].modifiedDT <= last_message_modifiedDT): + Dict.update({ + 'required_beep': False + }) + return JsonResponse(Dict, status=200) res_Dict.update({ - 'messages': msgs, - 'cur_receiver': receiver, - # 'modifiedDT': msgs[0].modifiedDT - }) - - html = render_to_string(tpl_name, res_Dict, request=request) - res_Dict.update({'receivers': get_chat_receivers_for_user(request.user)}) - - - Dict.update({ - 'html': html, 'required_beep': True, }) - return JsonResponse(Dict, status=200) + return JsonResponse(res_Dict, status=200) except Exception as e: msg = f'send_msg_ajax Error = {str(e)}' diff --git a/ReferenceDataApp/management/__init__.py b/ReferenceDataApp/management/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/ReferenceDataApp/management/commands/__init__.py b/ReferenceDataApp/management/commands/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/ReferenceDataApp/management/commands/parse.py b/ReferenceDataApp/management/commands/parse.py new file mode 100644 index 0000000..aabad43 --- /dev/null +++ b/ReferenceDataApp/management/commands/parse.py @@ -0,0 +1,9 @@ +from django.core.management.base import BaseCommand +from datetime import datetime +from BaseModels.mailSender import techSendMail +from ...funcs import parse_data + +class Command(BaseCommand): + + def handle(self, *args, **options): + parse_data()